NSQ是一个实时的分布式消息平台。它的设计目标是为在多台计算机上运行的松散服务提供一个现代化的基础设施骨架。
NSQ是由3个进程组成的:
nsqd 是一个接收、排队、然后转发消息到客户端的进程。
nsqlookupd管理拓扑信息并提供最终一致性的发现服务。
nsqadmin用于实时查看集群的统计数据(并且执行各种各样的管理任务)。
1 源码部署
cd /usr/local/nsq-1.1.0.linux-amd64.go1.10.3/bin/
nohup ./nsqlookupd > /dev/null 2>&1 &
nohup ./nsqd --lookupd-tcp-address=127.0.0.1:4160 > /dev/null 2>&1 &
nohup ./nsqadmin --lookupd-http-address=127.0.0.1:4161 > /dev/null 2>&1 &
访问 nsqadmin
2 docker部署nsq
获取镜像
docker pull nsqio/nsq
启动容器
运行lookupd
~docker run -d --name lookupd -p 4160:4160 -p 4161:4161 nsqio/nsq /nsqlookupd
450cbab82b8eb491d42bf105185c1022010b4d05e65a04f6c52ba15e1f5af06f
获取docker host的IP地址
~ docker inspect -f '{ { .NetworkSettings.IPAddress }}' lookupd
172.17.0.2