nsq简单教程 - Tue, Jul 7, 2020
nsq简单教程
1. 概述
NSQ是实时分布式消息分发平台。
2. 简介
2.1. nsqd
nsqd
负责接收,排队,分发消息的守护进程。
doc: https://nsq.io/components/nsqd.html
port | usage |
---|---|
4150 | tcp client |
4151 | http client |
4152 | https client |
2.2. nsqlookupd
nsqlookupd
管理网络拓扑信息。客户端通过nsqlookupd
发现nsqd
生产者和主题。并且接收nsqd
广播的主题和通道。
doc: https://nsq.io/components/nsqlookupd.html
port | usage |
---|---|
4160 | tcp client |
4161 | http client |
2.3. nsqadmin
nsqadmin
是一个Web UI,用于实时查看聚合的群集统计信息并执行各种管理任务。
port | usage |
---|---|
4171 | http client |
3. 安装
3.1. 单节点
节点启动
docker run -d --name nsqd -p 4150:4150 -p 4151:4151 \
kaisawind/nsq:v1.2.0 /nsqd \
--broadcast-address=192.168.1.168
可配置可视化UI
docker run -d --name nsqadmin -p 4171:4171 kaisawind/nsq:v1.2.0 /nsqadmin --nsqd-http-address=192.168.1.168:4151
3.2. 单节点(包含nsqlookupd)
发现服务
docker run -d --name lookupd -p 4160:4160 -p 4161:4161 kaisawind/nsq:v1.2.0 /nsqlookupd
节点启动
docker run -d --name nsqd -p 4150:4150 -p 4151:4151 \
kaisawind/nsq:v1.2.0 /nsqd \
--broadcast-address=192.168.1.168 \
--lookupd-tcp-address=192.168.1.168:4160
可配置可视化UI
docker run -d --name nsqadmin -p 4171:4171 kaisawind/nsq:v1.2.0 /nsqadmin --lookupd-http-address=192.168.1.168:4161
3.3. 多节点
发现服务
docker run -d --name lookupd -p 4160:4160 -p 4161:4161 kaisawind/nsq:v1.2.0 /nsqlookupd
节点1
docker run -d --name nsqd -p 4150:4150 -p 4151:4151 \
kaisawind/nsq:v1.2.0 /nsqd \
--broadcast-address=192.168.1.114 \
--lookupd-tcp-address=192.168.1.168:4160
节点2
docker run -d --name nsqd -p 4150:4150 -p 4151:4151 \
kaisawind/nsq:v1.2.0 /nsqd \
--broadcast-address=192.168.1.154 \
--lookupd-tcp-address=192.168.1.168:4160
可配置可视化UI
docker run -d --name nsqadmin -p 4171:4171 kaisawind/nsq:v1.2.0 /nsqadmin --lookupd-http-address=192.168.1.168:4161
3.4. 多发现服务
节点1发现服务(192.168.1.114
)
docker run -d --name lookupd -p 4160:4160 -p 4161:4161 kaisawind/nsq:v1.2.0 /nsqlookupd
节点2发现服务(192.168.1.154
)
docker run -d --name lookupd -p 4160:4160 -p 4161:4161 kaisawind/nsq:v1.2.0 /nsqlookupd
nsq服务
docker run -d --name nsqd -p 4150:4150 -p 4151:4151 \
kaisawind/nsq:v1.2.0 /nsqd \
--broadcast-address=192.168.1.168 \
--lookupd-tcp-address=192.168.1.114:4160 \
--lookupd-tcp-address=192.168.1.154:4160
可配置可视化UI
docker run -d --name nsqadmin -p 4171:4171 kaisawind/nsq:v1.2.0 /nsqadmin \
--lookupd-http-address=192.168.1.114:4161 \
--lookupd-http-address=192.168.1.154:4161
3.5. compose安装
version: '3'
services:
nsqlookupd:
image: nsqio/nsq
command: /nsqlookupd
ports:
- "4160"
- "4161"
nsqd:
image: nsqio/nsq
command: /nsqd --lookupd-tcp-address=nsqlookupd:4160
depends_on:
- nsqlookupd
ports:
- "4150"
- "4151"
nsqadmin:
image: nsqio/nsq
command: /nsqadmin --lookupd-http-address=nsqlookupd:4161
depends_on:
- nsqlookupd
ports:
- "4171"