一、安装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