我有 2 个服务。他们都需要订阅同一个 channel 。
这 2 个服务是负载平衡的。每个服务在多个服务器上运行。
那么我如何才能确保每个服务只有 1 个实例使用该 channel 的消息。
Redis 支持吗?
谢谢
最佳答案
Pubsub 不会以这种方式工作 - 消息会发送到所有已连接的订阅客户端。但是,您可以将其设置为该 channel 是列表更新的通知。这样所有客户端都会收到消息,但只有一个客户端可以使用 LPOP 从列表中取出项目。
关于redis - 支持 Redis Pub/Sub 上的竞争消费者吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7196306/