Golang訊息佇列 NSQ簡單介紹與使用

2022-08-23 14:51:17 字數 1864 閱讀 1796

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 該...