【问题标题】:How to make subscribers load balanced with Redis PubSub?如何使用 Redis PubSub 使订阅者负载均衡?
【发布时间】:2021-02-07 01:10:01
【问题描述】:

我在 pubsub 模式下使用 Redis 作为消息代理。 只有 1 个发布者和 N 个订阅者在收听同一频道。 对于原始的 pubsub 模式,这 N 个订阅者每次都会收到“相同”的消息。 我的问题是,Redis 内部是否有任何机制或任何其他方式让这些订阅者为每个订阅者获取不同的消息?

【问题讨论】:

    标签: redis message-queue


    【解决方案1】:

    你有两个选择:

    1. 将消息添加到 Redis 列表中,多个消费者使用BLPOP 和相关命令来消费这些消息。

    2. 向Redis Stream添加消息,多个消费者使用XREAD及相关命令消费这些消息。

    【讨论】:

    • 谢谢。我刚刚阅读了有关 rsmq 项目的信息,这可能会奏效,对吗?
    • 抱歉,我对 rsmq 不熟悉。您最好查看其文档以了解详细信息。
    【解决方案2】:

    感谢使用 RSMQ https://www.npmjs.com/package/rsmq 的建议可以解决问题。它正确的tonyc。刚才我用了它,它似乎可以正常工作。复制的 nodejs 服务应用程序能够处理,如果两者都收到消息,那么只有一个服务处理该过程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-23
      • 1970-01-01
      • 2012-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-07
      • 1970-01-01
      相关资源
      最近更新 更多