前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NSQ基于windows和docker的部署

NSQ基于windows和docker的部署

作者头像
逍遥壮士
发布2021-07-05 19:04:52
7510
发布2021-07-05 19:04:52
举报
文章被收录于专栏:技术趋势技术趋势

NSQ是什么?

简介

NSQ 是一个实时分布式消息平台,旨在大规模运行,每天处理数十亿条消息。

它提倡没有单点故障的分布式和分散式拓扑结构,实现容错和高可用性,同时保证可靠的消息传递。请看特点和保证。

在操作上,NSQ很容易配置和部署(所有参数都在命令行上指定,编译的二进制文件没有运行时的依赖性)。为了获得最大的灵活性,它与数据格式无关(消息可以是JSON、MsgPack、协议缓冲区或其他任何形式)。官方的Go和Python库是开箱即用的(还有许多其他的客户端库),如果你有兴趣建立自己的库,有一个协议规范。

架构:

监控界面:

无单点故障:

特点:

追求简单部署

追求高可用、避免单点故障、无中心设计

确保消息送达

生产者消费者自动发现、消费者连接所有生产者、向消费者推的模式

提供 HTTP 接口

提供几乎所有编程语言的客户端开发包

详细请参考这里https://nsq.io/overview/design.html

源码实现

基于docker部署

下载运行容器lookupd

代码语言:javascript
复制
docker pull nsqio/nsq
docker run --name lookupd -p 4160:4160 -p 4161:4161 nsqio/nsq /nsqlookupd

获取容器的ip地址

运行docker容器nsqd

代码语言:javascript
复制
docker run -d --name nsqd -p 4150:4150 -p 4151:4151 nsqio/nsq /nsqd --broadcast-address=172.17.0.2 --lookupd-tcp-address=172.17.0.2:4160

运行docker容器nsqadmin

查看容器详情

注意:如果是在linux上面需要关闭防火墙!

然后访问:http://localhost:4171/

基于windows部署

下载

https://nsq.io/deployment/installing.html

运行:nsqlookupd.exe

注意:这个 nsqlookupd 的http端口是4161,tcp端口是:4160 主要作用类似注册中心的作用。

启动一个nsqd节点

代码语言:javascript
复制
nsqd.exe -lookupd-tcp-address=127.0.0.1:4160

相关说明:

--lookupd 表示连接开启的lookupd服务,节点一般都是tcp减少每次连接的消耗

-tcp (-http) 表示用什么样的方式连接lookupd服务来进行注册以及存活检测

-address 表示lookupd的服务器ip地址在哪(lookupd和nsqd节点不在一个服务器上,本地就是127.0.0.1) 端口号是lookupd 启动时开启的端口

管理台

代码语言:javascript
复制
nsqadmin.exe --lookupd-http-address=127.0.0.1:4161

最后

NSQ部署真的挺简单....接下来整相关整合...

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-06-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 技术趋势 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档