Go呼叫NSQ簡單實踐

2022-03-23 08:38:39 字數 1359 閱讀 2226

本文主要是go語言呼叫nsq的簡單實踐,demo分為兩部分:生產者和消費者。

生產者:

/**

* nsq demo - 生產者

//指定topic,產生10條訊息資料

topic := "nsqtest"

for i := 0; i < 10; i++

fmt.println("producer publish success:", message)

} }}

消費者:

/**

* nsq demo - 消費者

)//消費者

type consumer struct{}

//處理接收到的訊息(實現nsq.handler)

func (*consumer) handlemessage(msg *nsq.message) error

func main()

consumer.setlogger(nil, 0) //遮蔽系統日誌

consumer.addhandler(&consumer{}) //新增消費者介面

//連線nsqd

err = consumer.connecttonsqd("192.168.56.102:4150")

if err != nil

//阻塞

for

}

測試:1. 開啟nsqlookupd和nsqd、nsqadmin,開啟方法詳見另一篇博文:

2. 啟動生產者:

3. 檢視nsqadmin:

4. 啟動消費者:

5. 檢視nsqadmin:

完畢!

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 解析 應用實踐

nsq 是用 go 語言開發的輕量級的分布式訊息佇列,適合小型專案使用 用來學習訊息佇列實現原理,對於學習 go channel的原理和用法,以及如何用 go 語言來寫分布式是乙個很不錯的入門專案。啟動nsqlookupd nsqlookupd 啟動 nsqd nsqd lookupd tcp ad...

Go併發程式設計實踐

併發程式設計一直是golang區別與其他語言的很大優勢,也是實際工作場景中經常遇到的。近日筆者在組內分享了我們常見的併發場景,及 示例,以期望大家能在遇到相同場景下,能快速的想到解決方案,或者是拿這些方案與自己實現的比較,取長補短。現整理出來與大家共享。回到頂部 很多時候,我們只想併發的做一件事情,...