nsq服务端
nsq服务包含三个主要部分:lookupd(),nsqd(),admin(管理界面)
lookupd
官方理解: lookupd是守护进程负责管理拓扑信息。客户端通过查询 lookupd 来发现指定 topic的生产者,并且nsqd 节点广播 topic 和 channel 信息。
nsqd
官方理解: nsqd 是一个守护进程,负责接收,排队,投递消息给客户端。
admin(管理界面)
官方理解: 是一套web UI,用来汇集集群的实时统计,并执行不同的管理任务。
职能关系图
- nsq主要组件的职能及关系
- NSQ的拓补图
nsq中topic 和channel的关系
nsqd 内部流程
nsqd如何保证消息不丢失的
channel 中的消息,推送给consummer,并且推送一个到 消息消费中队列,如果消费成功,从队列中移除。否则 按照预定的时间,重新推送。