NSQ官网
http://nsq.io/
Golang中国官网
https://www.golangtc.com/
1.安装Go环境
- go 1.7+
- go官网下载安装包: go1.9.linux-amd64.tar.gz
- 解压到/usr/local/中
tar -C /usr/local -xzf go1.9.linux-amd64.tar.gz
- 配置环境变量,编辑当前用户的~/.bashrc,增加:
export GOROOT=/usr/local/go export PATH=$PATH:$GOROOT/bin export GOPATH=~/go/path
- 执行
source ~/.bashrc
使得环境变量生效 - 执行
go version
验证是否安装成功
2.二进制安装(无需Go环境)
- nsq官网下载二进制linux安装包:nsq-1.0.0-compat.linux-amd64.go1.8.tar.gz
- 解压到家目录
tar -C ~ -xzf nsq-1.0.0-compat.linux-amd64.go1.8.tar.gz
- 给bin目录下文件添加执行权限
cd ~/nsq-1.0.0-compat.linux-amd64.go1.8 sudo chmod -R u+x bin/
- 打开一个终端,启动nsqlookupd
nohup ./nsqlookupd &
- 打开另一个终端,启动nsqd
nohup ./nsqd --lookupd-tcp-address=127.0.0.1:4160 &
- 打开另一个终端,启动nsqadmin
nohup ./nsqadmin --lookupd-http-address=127.0.0.1:4161 &
- 打开另外一个终端,启动nsq_to_file,将消息写入/tmp文件的日志文件,文件名默认由主题topic+主机+日期时间戳组成
nohup ./nsq_to_file --topic=test --output-dir=/tmp --lookupd-http-address=127.0.0.1:4161 &
- 使用curl命令,发布一条消息
curl -d 'hello world' 'http://127.0.0.1:4151/pub?topic=test'
3.相关概念
- nsqlookupd:管理nsqd节点拓扑信息并提供最终一致性的发现服务的守护进程
- nsqd:负责接收、排队、转发消息到客户端的守护进程,并且定时向nsqlookupd服务发送心跳
- nsqadmin:nsq的web统计界面,可实时查看集群的统计数据和执行一些管理任务
- utilities:常见基础功能、数据流处理工具,如nsq_stat、nsq_tail、nsq_to_file、nsq_to_http、nsq_to_nsq、to_nsq