我正在使用Google平台云功能。我通过Pub/Sub触发它。在函数日志中,消息以触发的顺序出现(最新的在顶部)。但是,如果我为已发布的主题创建订阅并在控制台中查看它,如下所示:
云测试版公共订阅拉test_sub -限制1000
消息以随机顺序出现。
知道为什么吗?
发布于 2019-10-17 15:46:31
Google /Sub不能保证消息的顺序。根本没有尝试订购邮件。这将破坏或使资源的分块和聚类复杂化。
引用Google的话:
即使在这种简单的情况下,保证消息的排序也会对吞吐量产生严重的限制。
对于最好的设计,您的软件不应该假设,也不应该依赖于任何特定的消息顺序。消息应该是不依赖于之前或之后的其他消息的原子单元。如果您的设计是这样的,那么您将需要实现时间窗口和处理消息,而不依赖于传递/拉。
有关Pub/Sub消息排序的更多具体信息:
https://stackoverflow.com/questions/58436103
复制相似问题