我们已经使用AWS-IoT服务创建了一个东西。我们已经在这个特定的东西中创建了一个主题。订阅者已经订阅了该主题,并且发布者正在向该主题发送消息。
以下是发布者消息传递顺序:
message 0
message 1
message 2
message 3
message 4
在用户端,不保持消息序列。它是这样显示的:
message 0
message 1
message 4
message 2
message 3
发布于 2020-02-22 18:16:43
没错,在亚马逊网络服务IoT中,message broker does not guarantee order在向设备传递消息的同时,也会向设备发送消息。
原因是在典型的分布式系统体系结构中,从发布者到订阅者的单个消息应该采用多个路径,以确保系统的高可用性和可伸缩性。在亚马逊网络服务IoT的情况下,设备网关支持发布者和订阅者消息传递模式,并支持可扩展、低延迟和低开销的通信。
但是,根据用例的类型,可以找到许多可能的解决方案。应该有一个逻辑,让出版商自己来协调。一种通用或简单的方法可以是设备侧的序列号添加应当足以处理发布者和订阅者之间的消息排序。在接收器上,基于对基于序列号的排序的检查来处理或丢弃的逻辑应该是有用的。
发布于 2019-01-09 20:15:00
正如在documentation of AWS中编写的
message broker不保证接收消息和确认的顺序。
发布于 2020-02-20 13:22:54
我想现在回答这个问题已经太晚了,但我仍然会继续下去,这样其他面临这个问题的人就可以有一个变通的办法。我遇到了类似的情况,我做了以下操作,以确保顺序得到维护。
https://stackoverflow.com/questions/46558714
复制相似问题