文件:
nsqlookupd
它會監聽兩個埠:可選引數:http: 4161
客戶端用它來發現和管理。tcp: 4160
nsqd 用它來廣播
nsqd --lookupd-tcp-address=127.0.0.1:4160
它是乙個守護程序,負責接收訊息,傳遞訊息給客戶端,排隊。 會監聽兩個埠:http: 4151
,tcp: 4150
nsqadmin --lookupd-http-address=127.0.0.1:4161
它是乙個web頁面,負責管理我們的訊息佇列, 它後面的位址即是我們在 nsqlookupd 裡面http-address
引數配置的位址,nsqadmin的監聽位址為4171
,通過127.0.0.1:4171
位址可開啟nsq的web管理頁面
channel是消費者訂閱特定topic的一種抽象。對於發往topic的訊息,nsqd向該topic下的所有channel投遞訊息,而同乙個channel只投遞一次,channel下如果存在多個消費者,則隨機選擇乙個消費者做投遞。這種投遞方式可以被用作消費者負載均衡。和topic一樣,channel同樣有永久和臨時之分,永久的channel只能通過顯式刪除銷毀,臨時的channel在最後乙個消費者斷開連線的時候被銷毀往通道裡面傳送訊息
curl -d 'hello world'
''
從通道中消費訊息,這裡我們要指定從哪個channel裡消費,
nsq_to_file --topic=test-dev -channel=default --output-dir=log --lookupd-http-address=127.0.0.1:4161
此時就會在當前目前下生成乙個 log 資料夾,裡面存放的就是我們這個channel裡的訊息
安裝第三方庫
}測試
如果你不想使用有讚的第三方庫,你可以使用下面這個:
// nsq發布訊息
func
producer
(topic string
,data [
]byte
)error
// 發布訊息
return p.
publish
(topic, data)
}// 消費訊息
func
consumer
(topic,channel string
,handlerfunc nsq.handlerfunc)
error
//新增訊息處理
c.addhandler
(handlerfunc)
//建立連線
return c.
connecttonsqd
(addr)
}
nsq的搭建超詳細
對於什麼是nsq,請參考 搭建nsq實時分布式訊息平台,主要啟動三個模組nsqlookupd nsqd nsqadmin。1.在第乙個shell中,啟動nsqlookupd nsqlookupd 2.在第二個shell中,啟動nsqd nsqd lookupd tcp address 127.0.0...
Golang訊息佇列 NSQ簡單介紹與使用
windows 1.在window的環境變數中path加入 e nsq 1.0.0 compat.windows amd64.go1.8 bin 2.開啟命令視窗,執行 nsqlookupd3.開啟新的命令視窗,執行 nsqd broadcast address 127.0 0.1 mem queu...
訊息佇列 nsq 使用筆記
在遠端機器 192.168.1.16 上啟動 nsqlookupd,nsqadmin nsqlookupd 占用 4161 埠 有兩個介面 tcp 埠 4160 nsqd 用它來廣播。http 埠 4161 客戶端用它來發現和管理 機器 192.168.1.35 上的 nsqd 在本地預設占用 41...