我们即将选择 Google Cloud Pub/Sub 作为我们的消息总线。一些消息需要在低延迟持续时间(例如小于 100-200 毫秒)内进行调度。
我在某处读到,在大量消息中,它表现良好,但对于每秒数百条消息等较少数量的消息,Pub/Sub 可能会产生高延迟。
在上一个问题中,主题也不清楚。 what's google cloud pub/sub latency从 2016 年开始。
是否有任何关于 Pub/Sub 延迟和与消息量关系的定义指标?
最佳答案
云发布/订阅 was designed考虑到大量消息,因此如果消息吞吐量太低,它有时会挣扎。这与 Pub/Sub 如何平衡监听器之间的拉取请求有关。
回到你的问题,没有关于这种行为的定义指标,也没有最小的延迟或你可以说它被认为是“高负载”的神奇数量的消息。实际上,它取决于诸如 worker 数量、批次大小、每条消息的处理时间等因素。
我找到了另一个 StackOverflow answer这更多地讨论了 Pub/Sub 的有效用例(每秒数千条消息)以及为什么建议 Cloud Pub/Sub 使用高负载。
编辑:
扩展此主题,向 Pub/Sub 实现添加异步层有助于提高其性能,包括低消息量场景中的延迟。 Spotify 在与 Pub/Sub 合作时意识到了这一需求并创建了 their own Async Cloud Pub/Sub Client .他们现在推荐使用 Google's java client ,但值得考虑这些信息
关于message-queue - Google Pub/Sub 性能(低负载下的延迟)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53197855/