我们使用AWS-IoT服务创建了一个东西。我们在那个特定的事情上创造了一个主题。订阅者已订阅该主题,发布者正在向该主题发送消息。
以下是发布商消息订单:
message 0
message 1
message 2
message 3
message 4
在订户端,不维护消息序列。它显示如下:
message 0
message 1
message 4
message 2
message 3
答案 0 :(得分:1)
在AWS IoT中,message broker does not guarantee order确实在它们将消息传递到设备时。
原因是在典型的分布式系统体系结构中,从发布者到订阅者的单个消息应采用多条路径,以确保系统具有高可用性和可伸缩性。对于AWS IoT,设备网关支持发布者订阅者消息传递模式,并支持可扩展,低延迟和低开销的通信。
但是,根据用例的类型,可以解决许多可能的解决方案。应该有一个逻辑使出版商自己来进行协调。一种通用或简单的方法可能是,在设备端添加序列号应足以处理发布者和订阅者之间的消息排序。在接收器上,基于序列号检查顺序进行处理或丢弃的逻辑应该会有所帮助。
答案 1 :(得分:0)
消息代理不保证消息和消息的顺序 收到ACK。
答案 2 :(得分:0)
我想回答这个问题为时已晚,但是我仍然会继续进行,以便其他面临此问题的人可以解决。我遇到了类似的情况,我做了以下操作以确保维持订单状态。