23、Windows Azure 队列使用指南

Windows Azure 队列使用指南

1. Windows Azure 队列概述

在使用 Windows Azure 队列时,工作项在出现故障的情况下可能会花费很长时间。这需要我们进行一些实验,找到适合自己的参数设置。在实际应用中,采用两阶段模型删除消息,能确保每个消息至少被处理一次。不过,当消息在崩溃的接收器上重新传递时,会出现一个有趣的问题——毒消息。

1.1 毒消息问题

毒消息是指那些会导致代码出现错误并引发崩溃的消息。由于这些消息不会被删除,它们会不断在队列中重复出现,反复导致崩溃。而且,由于消息在短时间内是不可见的,这种影响可能在很长一段时间内都不会被注意到,从而给服务的可用性带来严重问题。

为了防范毒消息,我们需要做好安全基础工作,确保工作进程能够抵御不良输入。另外,毒消息在其生存时间(TTL)结束后会自动离开系统。因此,缩短 TTL 可以减少不良消息的影响,但同时也需要权衡接收方处理消息速度不够快时丢失消息的风险。

1.2 使用队列的注意事项

使用 Windows Azure 队列时,人们常常会因为期望它与 MSMQ、SQL Service Broker 等常见消息系统一样,而陷入一些误区。实际上,在处理高度可扩展和可靠的分布式服务时,有些方面在云端的工作方式是不同的。以下是一些常见的注意点:
- 消息可能重复(幂等性) :处理队列消息时,代码应具有幂等性,即能够多次接收相同的消息,且结果保持一致。实现幂等性的方法有多种,例如对于视频转码等操作,可以多次执行相同的工作;而对于金融交易等操作,则需要记录操作状态,在执行操作前检查该状态。
-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值