nsq 随录
nsq
组件
nsqlookupd
是守护进程负责管理拓扑信息。客户端通过查询 nsqlookupd 来发现指定话题(topic)的生产者,并且 nsqd 节点广播话题(topic)和通道(channel)信息。
nsqd
负责接收、排队、投递消息,可以独立运行,也可以接入到 nsqlookupd 的集群
限定内存占用
nsqd 提供一个 –mem-queue-size 配置选项,这将决定一个队列保存在内存中的消息数量。如果队列深度超过此阈值,消息将透明地写入磁盘。nsqd 进程的内存占用被限定于 –mem-queue-size * #of_channels_and_topics:
nsqadmin
WEB UI,用来汇集集群的实时统计,并执行不同的管理任务。
设计
publishing –> Topics -> Channels –> Consumers
- publishing 投递一个消息到 Topics
- Topics 将消息传递给 Channels ,这里是一对多,
- 每个 Channels 可连接多个 Consumer,但是只能被一个 Consumer 消费掉