windows:
1.在window的環境變數中path加入:
e:\nsq-1.0.0-compat.windows-amd64.go1.8\bin
2.開啟命令視窗,執行:
nsqlookupd
3.開啟新的命令視窗,執行:
nsqd --broadcast-address=
127.0
.0.1
--mem-queue-size=
0--lookupd-tcp-address=
127.0
.0.1
:4160
4160是nsqd與lookupd進行tcp連線的埠;
-broadcast-address=127.0.0.1防止位址被解析私有ip;
-mem-queue-size=0是訊息持久化到磁碟;
4.開啟新的命令視窗,執行:
:41614161是nsqadmin與lookupd進行http連線的埠;
5.開啟支援curl命令的視窗(git bash)執行:
curl -d 'hello world 1'
''
4151是nsqd http請求的介面;
6.至此,整個執行和產生訊息的過程就完成了,開啟:
即可看到對應的視覺化頁面,看到自己的訊息佇列;
7.開啟新的命令視窗,執行:
:4161消費訊息,列印到日誌檔案;
linux:
步驟和windows類似;
後台啟動,命令加上:nohup ./*** & 即可;
1.外網訪問必須開放4150,4151,4160,4161,4171等幾個埠;
2.nsqlookupd 監聽兩個埠:
4160 tcp 用於接收nsqd的廣播,記錄nsqd的位址以及監聽tcp/http埠等;
4161 http 用於接收客戶端傳送的管理和發現操作請求,增刪話題,節點等管理檢視性操作等;
當consumer進行連線時,返回對應存在topic的nsqd列表;
3.nsqd監聽兩個埠:
4151 http producer使用http協議的curl等工具生產資料;consumer使用http協議的curl等工具消費資料;
4150 tcp producer使用tcp協議的nsq-j等工具生產資料;consumer使用tcp協議的nsq-j等工具消費資料;
4.nsqadmin監聽乙個埠:
4171 http 用於管理頁面;
5.使用位址開啟管理頁面;
1.主題和頻道沒有事先配置:通過發布指定主題,或訂閱指定主題,在首次使用時建立主題;通過訂閱指定主題的頻道,在首次使用時建立頻道;
2.乙個topic可以有乙個或多個channel,每個channel都是topic的完整副本,會收到主題的所有訊息;多個channel是為了消費者對收到的訊息執行不同的工作,比如ch1收到所有的資料,按照自身邏輯處理完,傳送給a,ch2也收到所有的資料,按照自身邏輯處理完,傳送給b;
3.乙個通道可以連線多個客戶端,每條訊息都傳遞給客戶端,訊息均勻分發,負載均衡;如果佇列中有訊息未被消費,啟動消費時訊息可能被乙個客戶端獨自消費。
工眾號:李田路口
golang訊息佇列nsq
golang訊息佇列nsq win下安裝 追加i nsq 1.2.0.windows amd64.go1.12.9 bin 2.開啟命令視窗,執行 nsqlookupd 3.開啟新的命令視窗,執行 nsqd lookupd tcp address 127.0.0.1 4160 此處4160是nsqd...
Golang訊息佇列之NSQ
目錄nsq安裝 nsq是乙個實時分布式訊息傳遞平台,設計用於大規模操作,能每天處理數十億條訊息。它促進了沒有單點故障的分布式和分散拓撲,支援容錯和高可用性,並提供可靠的訊息傳遞保證。優缺點 優點 1 部署非常方便,沒有任何環境的依賴,乙個二進位制可執行檔案 2 輕量級沒有過多的配置引數,只需要簡單配...
NSQ訊息佇列
前面的總結中提到過這個玩意,所以簡單說說,win上面的測試驗證 網上有比較合適的博文,我先推薦幾篇 我在簡化一下,給大家說說幾個win什麼的東西。核心元件 nsqd.exe 該元件負責接收資料和 資料。生產者發布資料到這裡,消費者來這裡取資料。類似集群部署元件 輔助工具 nsqadmin.exe 該...