nsq的nsqd进程的一个channel如果有多个消费者,消息会随机发送给其中一个消费者,那如何实现多消费者同时接收消息?

最近在学习nsq的原理和使用,对于消费者和nsq消息交互这一块的模型不是很清楚,官方文档上说:如果一个channel上有多个消费者,那么消息只能有一个随机消费者接收到,那么这样的设计有什么意义,如果我想要多个消费者都接受到同一个topic下的消息,只能让它们在不同的channel下了吗?那我又何必把消费者放在一个channel下呢?
官网上还说了,这样的设计可以实现消费者的负载均衡又是什么意思呢?

阅读 7.2k
1 个回答

一个channel代表一个消费逻辑. 不明白你为什么不能接受一个topic,多个channel的模式.
至于负载均衡,指的就是如果多台服务器的消费者topic,channel都相同,会出现每个消息只会被随机的消费者消费一次,减轻单台服务器压力.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题