鍍金池/ 問答/GO  Linux/ nsq的nsqd進程的一個channel如果有多個消費者,消息會隨機發(fā)送給其中一

nsq的nsqd進程的一個channel如果有多個消費者,消息會隨機發(fā)送給其中一個消費者,那如何實現(xiàn)多消費者同時接收消息?

最近在學(xué)習(xí)nsq的原理和使用,對于消費者和nsq消息交互這一塊的模型不是很清楚,官方文檔上說:如果一個channel上有多個消費者,那么消息只能有一個隨機消費者接收到,那么這樣的設(shè)計有什么意義,如果我想要多個消費者都接受到同一個topic下的消息,只能讓它們在不同的channel下了嗎?那我又何必把消費者放在一個channel下呢?
官網(wǎng)上還說了,這樣的設(shè)計可以實現(xiàn)消費者的負載均衡又是什么意思呢?

回答
編輯回答
她愚我

一個channel代表一個消費邏輯. 不明白你為什么不能接受一個topic,多個channel的模式.
至于負載均衡,指的就是如果多臺服務(wù)器的消費者topic,channel都相同,會出現(xiàn)每個消息只會被隨機的消費者消費一次,減輕單臺服務(wù)器壓力.

2018年7月18日 18:11