负载平衡订户-如何完成?

时间:2018-06-28 11:57:48

标签: google-cloud-platform google-cloud-pubsub

GCP pubsub文档提到了拉模式的负载平衡,目前尚不清楚如何使用它。

Subsciption或Subscriber构建器api似乎都没有启用此功能的方法。

问题::如何配置多个pubsub订阅者之间的负载平衡?

背景:

我们为同一主题使用多个订户,以实现弹性。 (可以从同一数据存储中查询多个端点)。

订阅将保留消息,但是如果不进行分发,则所有订阅都会获取所有消息,从而导致数据存储中的数据重复。也许这种背景会为实现弹性的另一种方式提供思路。

我们对自己的看法:

  • 使用多个数据存储...
  • 标记消息,并对数据存储中的行进行某种乐观的锁定/版本控制。

技术

  • GCP pubsub
  • Spring Boot /数据
  • JPA
  • Postgres数据库。

1 个答案:

答案 0 :(得分:2)

如果所有订阅者都收到所有消息,则可能您为每个订阅者使用了不同的订阅。当您有不同的订阅者都从同一个订阅中提取时,就会发生负载平衡。从subscriber guide负载平衡的描述中:“多个订阅者可以对相同的“共享”订阅进行拉式调用。每个订阅者都将收到消息的子集”(强调我的)。当您使用不同的订阅时,就会出现扇出状态,所有订阅者都将收到所有消息。