首页 > 解决方案 > Google Pub/Sub 性能(低负载下的延迟)?

问题描述

我们即将选择 Google Cloud Pub/Sub 作为我们的消息总线。一些消息需要在低于 100-200 毫秒的低延迟时间内发送。

我在某处读到,在大量消息中,它表现良好,但对于每秒数百条消息这样的少量消息,Pub/Sub 可能会产生高延迟。

在上一个问题中,主题也不清楚。2016 年的谷歌云发布/订阅延迟是多少

是否有任何关于 Pub/Sub 延迟和与消息量关系的定义指标?

标签: message-queuelatencygoogle-cloud-pubsub

解决方案


Cloud Pub/Sub在设计时考虑到大量消息,因此如果消息吞吐量过低,它有时会遇到困难。这与 Pub/Sub 如何平衡侦听器之间的拉取请求有关。

回到你的问题,没有关于这种行为的定义指标,也没有最小的延迟或你可以说它被认为是“高负载”的神奇数量的消息。实际上,它取决于工人数量、批量大小、每条消息的处理时间等因素。

我发现了另一个StackOverflow 答案,它更多地讨论了 Pub/Sub 的有效用例(每秒数千条消息)以及为什么建议 Cloud Pub/Sub 使用高负载。

编辑:

扩展此主题,向 Pub/Sub 实现添加异步层有助于提高其性能,包括低消息量场景中的延迟。Spotify 在与 Pub/Sub 合作时,意识到了这一点并创建了自己的 Async Cloud Pub/Sub Client。他们现在推荐使用Google 的 java 客户端,但值得考虑这些信息


推荐阅读