-
Notifications
You must be signed in to change notification settings - Fork 7
nsq
henry.huang edited this page Jul 17, 2020
·
7 revisions
- 消息队列
- nsq 最初是由 bitly 公司开源出来的一款简单易用的分布式消息中间件,它可用于大规模系统中的实时消息服务,并且每天能够处理数亿级别的消息。
- https://github.com/nsqio/nsq
- dockerfile: https://github.com/nsqio/nsq/blob/master/Dockerfile
- 头条
- 有赞
必须直连nsqd去投递message
- 消费者直连nsqd,这是最简单的方式,缺点是nsqd服务无法实现动态伸缩了(当然,自己去实现一个也是可以的)
- 消费者通过http查询nsqlookupd获取该nsqlookupd上所有nsqd的连接地址,然后再分别和这些nsqd建立连接(官方推荐的做法),但是客户端会不停的向nsqlookupd查询最新的nsqd地址目录(不喜欢用http轮询这种方式…)
- nsqd是nsq里面保存数据的服务
- 真正干活的就是这个服务,它主要负责message的收发,队列的维护。nsqd会默认监听一个tcp端口(4150)和一个http端口(4151)以及一个可选的https端口
- WEB UI,用来汇集集群的实时统计,并执行不同的管理任务
- nsqlookupd就是中心管理服务,它使用tcp(默认端口4160)管理nsqd服务,使用http(默认端口4161)管理nsqadmin服务
- https://nsq.io/deployment/docker.html
- docker-compose 部署
- http://localhost:14171/nodes
-
4171
端口映射
-
4161
端口映射的宿主机端口.
# 服务验证:
test.nsq:
# container port 4161 端口映射
curl http://127.0.0.1:14161/ping
- 非常简陋, 只是集群的状态展示.