如何实现集群中的每个节点都接受来自 Google 发布/订阅主题的消息?
Posted
技术标签:
【中文标题】如何实现集群中的每个节点都接受来自 Google 发布/订阅主题的消息?【英文标题】:How to achieve that each node from the cluster accepts message from the Google pub/sub topic? 【发布时间】:2020-04-17 00:56:41 【问题描述】:我有一个集群应用程序可以监听来自 tge 订阅的消息
所以我有 1 个主题和 1 个订阅。以下模式用作负载平衡器,因此集群中的每个节点都接受唯一的消息。像这样
生产者生产A
、B
、C
、D
、E
假设集群包含 2 个节点。可能的情况是 node_1
接受 A
和 D
但 node_2
接受 B
, C
abd E
如果我知道集群中有多少个节点,我可以为每个节点创建订阅。它将允许监听每个集群节点上的每条消息。但是如果我的节点数不时变化怎么办?(它可能会增加或减少)。如何在集群的每个节点上接受来自发布者的每条消息?
【问题讨论】:
如果您有多个应用程序实例都从一个订阅中提取消息,那么在正常情况下,消息将分布在您的所有实例中。 我在主题中提到过。但这不是我的目标。 当您的应用程序启动合适的解决方案时,是否以编程方式创建订阅(一个应用程序 = 一个订阅)? @norbjd 看起来是个好主意。 【参考方案1】:正如 cmets 中已经提到的,您需要使用 SDK 从客户端即时创建订阅,并在客户端离线后删除订阅。
不要认为有比这更好的方法,因为客户数量可能会上升或下降。
【讨论】:
以上是关于如何实现集群中的每个节点都接受来自 Google 发布/订阅主题的消息?的主要内容,如果未能解决你的问题,请参考以下文章