1. 安装nsq
brew install nsq
2.启动nsq
https://nsq.io/overview/quick_start.html
3.golang client
var producer *nsq.Producer
var consumer *nsq.Consumer type t struct { } func (this *t)HandleMessage(message *nsq.Message) error{ fmt.Println(string(message.Body)) return nil } func init() { producer,_ = nsq.NewProducer("127.0.0.1:4150",nsq.NewConfig()) // 初始化生产者 consumer,_ = nsq.NewConsumer("fwd","ch1",nsq.NewConfig()) consumer.AddHandler(new(t)) consumer.ConnectToNSQD("127.0.0.1:4150") } func main() { go func() { }() for{ time.Sleep(time.Second) producer.Publish("fwd",[]byte("哈哈哈哈哈")) } }
输出:
2018/07/30 12:14:27 INF 2 [fwd/ch1] (127.0.0.1:4150) connecting to nsqd
2018/07/30 12:14:28 INF 1 (127.0.0.1:4150) connecting to nsqd
哈哈哈哈哈
哈哈哈哈哈
哈哈哈哈哈