google-cloud-platform - 订阅者负载平衡 - 是如何完成的?

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

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

订阅或订阅者构建器 API 似乎都没有打开此功能的方法。

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

背景:

我们对同一主题使用多个订阅者,以实现弹性。 (可以查询多个端点以获取来自同一数据存储的数据)。

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

我们自己想到的事情:

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

技术:

  • GCP 发布订阅
  • Spring Boot/数据
  • JPA
  • Postgres 数据库。

最佳答案

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

关于google-cloud-platform - 订阅者负载平衡 - 是如何完成的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51082339/

相关文章:

google-cloud-platform - OAuth 同意屏幕 - 删除应用程序 Logo 的能力

gcloud - 错误 : (gcloud. container.clusters.create) ResponseError : code=400, message=用户无权访问服务帐户 "default"

ssl - 如何为使用 nginx、gunicorn 和 flask 的 GCP 实例设置 SSL 证书?

firebase - 无法从 HTTPS 功能触发 Firebase 发布/订阅功能

node.js - 通过 node.js 在当前 shell session 中设置 GOOGLE_APPLICATION_CREDENTIALS

google-cloud-platform - 找出 Google Pub/Sub 订阅的来源

python - 使用 python 的 Google Pubsub 模拟器

go - 如何通过转发到死信主题来限制 Google Pub/Sub 传送尝试?

google-bigquery - 在 Apache Beam 中维护全局状态

javascript - 使用异步库的 Google PubSub 中的异步订阅者