1. 程式人生 > >nsq topic和channel的區別

nsq topic和channel的區別

borde www. news 訂閱 bottom mil 1.7 open 關系

topic:一個可供訂閱的話題。
channel:屬於topic的下一級,一個topic可以有多個channel。
二者關系可以再參考下面兩文章:
http://www.cnblogs.com/forrestsun/p/3892710.html
http://www.linuxeden.com/html/news/20140301/148960.html

舉個例子:
topic:比做一個廣播,如交通廣播。打開收音機,你可以換很多頻率,如果換到91.6MHZ,你就會聽到交通廣播,(我們這裏交通廣播是91.6)。相當於你訂閱了“交通廣播”這個topic。
一個topic下有多個channel,可以看作是廣播裏會有很多節目,比如路況信息、美食、用車知識等等。每一個節目可以比作一個channel。

如果你一直訂閱了交通廣播,那你就會收到這個下面所有channel的信息,訂閱了topic,就會收到topic下所有消息。
當然,你可能只關註用車知識這個消息,那可以在這個節目的播出時間聽這個廣播就可以了,等節目播完,就可以不收聽這個廣播。相當於:nsq裏可以只訂閱某一個channel的信息。這樣的話,一個topic下無關的channel就不會發過來。
如果一個channel有多個訂閱者,NSQ會使用負載均衡的策略,給其它一個訂閱者發消息

nsq topic和channel的區別