1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 解决方案取决于消费者愿意等待多久才能接收到乱序消息。例如,在电梯示例中,如果电梯从1楼移动到5楼,消费者接收到事件1、2、3、5....1个小时...4,您是否愿意等待1个小时才能解决消息4卡住的问题并继续处理消息5?
建议开发一个可以处理乱序消息的消费者,这可以使解决方案更加稳健。
尽管如此,如果客户端使用QoS1,事件之间间隔较长(在电梯示例中数秒钟),从一个电梯得到乱序消息的机会就非常低。如果在设备端的消息负载中添加一些序列号 {floor:one, seq:100}, {floor:two, seq:101}, {floor:three, seq:102}, {floor:five, seq:104}
,就可以在消费者端检测到乱序消息并触发异常逻辑。
相关内容
- AWS 官方已更新 1 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 1 年前