docker-compose部署 简单nsq 集群
主要目的是搭建一个测试环境,同时使用了nodejs 客户端sdk
nsq 简单了解
nsqd:一个负责接收、排队、转发消息到客户端的守护进程 nsqlookupd:管理拓扑信息并提供最终一致性的发现服务的守护进程 nsqadmin:一套Web用户界面,可实时查看集群的统计数据和执行各种各样的管理任务 utilities:常见基础功能、数据流处理工具,如nsq_stat、nsq_tail、nsq_to_file、nsq_to_http、nsq_to_nsq、to_nsq
环境准备
具体参数的意思,参考官方文档
docker-compose 文件
version: "3"services: ysdp-nsq-admin: image: nsqio/nsq:v1.1.0 command: /nsqadmin -lookupd-http-address ysdp-nsq-nsqlookupd1:4161 -lookupd-http-address ysdp-nsq-nsqlookupd2:4261 ports: - "4171:4171" ysdp-nsq-nsqd1: image: nsqio/nsq:v1.1.0 hostname: ysdp-nsq-nsqd1 command: /nsqd -tcp-address 0.0.0.0:4150 -data-path /usr/local/nsq/bin/data --http-address 0.0.0.0:4151 -lookupd-tcp-address ysdp-nsq-nsqlookupd1:4160 -lookupd-tcp-address ysdp-nsq-nsqlookupd2:4260 -broadcast-address ysdp-nsq-nsqd1 volumes:启动集群
启动
效果

使用
本地hosts 文件配置 因为基于nsqlookupd 的数据发现需要访问broadcast-address 暴露的地址,所以需要配置,同时都需要加上
nodejs 项目使用 初始化项目
添加依赖
package.json
调用代码
测试
启动 nodejs 项目
发送消息
效果

admin 效果

说明
以上是一个简单的测试,以及集群的搭建
参考资料
https://nsq.io/overview/design.html https://github.com/rongfengliang/nsq-cluster-docker-compose
Last updated