nsq消息队列

2018-11-18  本文已影响27人  我的饭卡呢

一、安装nsq:

安装godep
go get github.com/kr/godep

安装assert
go get github.com/bmizerany/assert

安装nsq
godep get github.com/bitly/nsq/...

二、启动进程

1.nsqlookupd:

nsqlookupd的主要职责是维护拓扑信息, 并且接受客户端请求发现指定topic的nsqd生产节点是哪些, 并返回给客户端;
nsqd节点会广播话题和channel信息给nsqlookupd。

后台启动nsqlookupd:

nohup nsqlookupd&

启动后,nsqlooupd的日志文件在nohup.out里,打开后可以看到,它监听两个端口:
4160 :TCP 用于接收nsqd的广播
4161 :HTTP 用于接收客户端发送的管理和发现操作请求

2.nsqd

nsqd 是一个守护进程,负责接收,排队,投递消息给客户端。
它可以独立运行,不过通常它是由 nsqlookupd 实例所在集群配置的。

后台启动多个nsqd:
在~/nsq里创建三个文件夹,分别是node1,node2,node3

nohup nsqd --lookupd-tcp-address=127.0.0.1:4160&  //进入node1路径中执行,默认监听4150和4151端口
nohup nsqd --lookupd-tcp-address=127.0.0.1:4160 -tcp-address=0.0.0.0:4152 -http-address=0.0.0.0:4153&  //在node2路径中执行
nohup nsqd --lookupd-tcp-address=127.0.0.1:4160 -tcp-address=0.0.0.0:4154 -http-address=0.0.0.0:4155&   //在node3路径中执行

这样就启动三个nsqd守护进程
注意:这里一定要在三个不同的路径中执行,不然可能发生FATAL: --data-path=~/... in use (possibly by another instance of nsqd)的错误

3.nsqadmin

nsqadmin 提供WEB UI界面(看板)

启动nsqadmin:

nohup nsqadmin --lookupd-http-address=127.0.0.1:4161&

三、nsq使用:

请看我写的另一篇文章https://www.jianshu.com/p/b94d59b3b2d9

上一篇 下一篇

猜你喜欢

热点阅读