windows下學習nsq,以及基本使用概念

我才小班發表於2017-07-24

一、安裝:

官網:

http://nsq.io/overview/quick_start.html

中文版文件:

http://wiki.jikexueyuan.com/project/nsq-guide/intro.html

按照文件說明,下載對應的包即可,文章最後會附上window(64位)版本:

nsq-1.0.0-compat.windows-amd64.go1.8.tar

官方版本有很多,自已選擇下載

二、使用

1.在window的環境變數中path加入: E:\nsq-1.0.0-compat.windows-amd64.go1.8\bin; 這一步更具自己的目錄,最後到bin就可以了。

2. 開啟命令視窗,執行:nsqlookupd

3. 開啟新的命令視窗,執行:nsqd --lookupd-tcp-address=127.0.0.1:4160 //此處4160是nsqd與lookupd進行tcp連線的埠

4. 開啟新的命令視窗,執行: nsqadmin --lookupd-http-address=127.0.0.1:4161 //此處4161是nsqadmin與lookupd進行http連線的埠

5. 開啟支援curl命令的視窗(git bash)執行:

curl -d 'hello world 1''http://127.0.0.1:4151/pub?topic=test' // 4151是nsqd http請求的介面

6.至此,整個執行和產生訊息的過程就完成了,開啟http://127.0.0.1:4171/即可看到對應的視覺化頁面,看到自己的訊息佇列。

三、詳細概念理解

         基礎概念:

        nsqlookupd:管理nsqd節點拓撲資訊並提供最終一致性的發現服務的守護程式

        nsqd:負責接收、排隊、轉發訊息到客戶端的守護程式,並且定時向nsqlookupd服務傳送心跳

        nsqadmin:nsqd的web統計介面,可實時檢視叢集的統計資料和執行一些管理任務

        utilities:常見基礎功能、資料流處理工具,如nsq_stat、nsq_tail、nsq_to_file、nsq_to_http、nsq_to_nsq、to_nsq

        進階概念:

        nsqd:

        生產者和消費者都是通過直接與nsqd進行互動產生或者消費資料,生產者可以通過tcp或者http將資料拋入nsqd。消費者使用tcp與nsqd連線消費佇列中的資料。

        topic與channel:

        nsqd中可以有多個topic,一個topic中可以有多個channel。多個nsqd服務中topic名字可以重複。

        topic可以理解為一個大倉庫,channel是倉庫中的一條生產線。訊息是往topic中送,如果一個topic中有多個channel,每個channel都能獲得一份訊息的複製。channel之            間相互獨立。

        當一個channel有多個連線者(消費者)是,訊息採用分法,不會出現一個訊息推送給多個消費者。


        nsqlookupd:

        用於發現nsqd。實際情況中,有可能我們並一定不知道要消費的nsqd具體的伺服器。所以,我們將多個nsqd與一個或多個nsqlookupd連線,在消費佇列之前,通過nsqlookupd獲取可用的nsqd列表,並找到對應消費的topic所在的伺服器(可能有多個,如何選擇由客戶端進行策略),再連線到對應的nsqd上。當然也可以直接連線到對應 的nsqd上,簡單快速。一般nsqd的消費者與生產者部署在同一臺伺服器上。


下載地址:http://download.csdn.net/detail/wangchaoxiaoban/9909095

相關文章