我正在为我们的集群研究一项技术。Pulsar 看起来不错,但使用起来更像是一个排队系统。排队系统当然好,但我有一个特殊的要求:广播。
我们想使用一台机器生成数据并将其发布到 Pulsar 主题。然后我们使用一组服务器,形成一个副本。每个服务器都使用该主题的消息流,并通过 WebSocket 为客户端提供服务。
这与共享订阅不同,因为每个服务器都需要接收所有消息,而不是其中的一部分。
我来到这个帖子:https ://kafkaesque.io/subscriptions-multiple-groups-of-consumers-on-pulsar-topic/ ,它解释了如何做这样的工作:每个服务器都需要创建一个新的独家订阅,比如说使用 UUID 作为订阅名称,从唯一的专属订阅中可以获取该主题的完整消息流。
但是由于我们的服务器副本可以是动态的,所以一旦一些服务器重启,他们会再次创建新的 UUID 订阅,这会留下很多关于该主题的孤儿订阅,最终成为维护的难题。
有人有使用 Pulsar 设置广播用例的经验吗?