nsq使用笔记

nsq是一个使用go语言实现的分布式实时消息传递平台,每天处理消息量可达十亿级别。具有分布式、去中心化拓扑、无单点故障、故障容错,高可用性以及能够保证消息的可靠传递的功能特征。

组件构成
nsq有三个组件以及辅助的几个工具构成。
nsqd :守护进程,负责接收,排队,投递消息给客户端。可独立运行,通常它是由 nsqlookupd 实例所在集群配置。服务启动后监听两个端口,一个给客户端的默认4160,另一个是 HTTP API的默认4161,也能开HTTPS。
同一台服务器启动多个nsqd,要注意端口和数据路径必须不同,包括:–lookupd-tcp-address、 -tcp-address、–data-path。
删除topic、channel需要http api调用。
nsqlookupd
nsqlookupd 是守护进程,负责管理拓扑信息并提供最终一致性的发现服务。客户端通过查询 nsqlookupd 来发现指定话题(topic)的生产者,并且 nsqd 节点广播话题(topic)和通道(channel)信息。

该服务运行后有两个端口:TCP 接口,nsqd 用它来广播;HTTP 接口,客户端用它来发现和管理。
在生产环境中,为了高可用,最好部署三个nsqlookupd服务。
nsqadmin
nsqadmin 是一套 WEB UI,用来汇集集群的实时统计,并执行不同的管理任务。
运行后,能够通过4171端口查看并管理topic和channel。

通常只需要运行一个。
utilities
常见基础功能、数据流处理工具,如nsq_stat、nsq_tail、nsq_to_file、nsq_to_http、nsq_to_nsq、to_nsq

nsqlookupd
命令:nohup nsqlookupd >nsqlookupd.log 2>&1&
端口:tcp 4160 http 4161

nsqd
命令:nohup nsqd --lookupd-tcp-address=0.0.0.0:4160 >nsqd1.log 2>&1&
端口:tcp 4150 http 4151(指定端口:-tcp-address="0.0.0.0:4152" -http-address="0.0.0.0:4153" )
连接 : tcp 4160(lookupd的tcp)

nsqadmin
命令:nohup nsqadmin --lookupd-http-address=0.0.0.0:4161 > nsqadmin.log 2>&1&
端口:http 4171(web管理页面)

你可能感兴趣的:(nsq使用笔记)