https://www.toutiao.com/article/7174797860129767968

1、 NSQ简介

NSQ是一个实时的分布式的消息处理平台。

主要有以下特点:

支持分布式的拓扑结构,没有SPOF(单点故障)
支持横向水平扩展(没有 brokers 等任何集中式代理)
性能优越,基于推送的低延迟的消息传递模式
结合负载均衡和多路广播类型的消息路由
擅长面向流(streaming)(高吞吐量)和 任务(Job)导向的工作负载
主要是基于内存的(超过高水位线消息将透明的存储到磁盘中)
运行时的服务发现
传输层安全性(TLS)
数据格式不可知
很少的依赖项,容易部署,具有健全的、有边界的、默认的配置项
简单的TCP协议,支持任何语言的客户端库
具有HTTP接口,用于统计、管理行为以及生产者操作(不需要客户端库额外发布)
集成 statsd 用于实时监测
强大的集群管理接口 (nsqadmin)

2、主要组件

nsqd 消息队列的核心,是一个守护进程,负责接收、队列和投递信息给客户端。
nsqlookupd 管理拓扑信息,是一个守护进程,并提供最终一致的服务发现功能。
nsqadmin 是一个Web 管理界面,用于实时的检测集群信息,并能够执行各种管理任务。

3、连接方式

分为两种,直连模式和通过nsqlookupd进行连接

4、直连模式

NSQ 客户端通过TCP连接到提供指定主题的所有实例。没有中间代理 brokers,没有单点故障。

直接从所有生产者中消费消息。从技术来上来讲,哪个客户端连接到哪个NSQ实例并不重要,只要有足够的客户端连接到所有的生产者以满足消息总量就可以,并保证所有的消息最终都会被处理。

文档更新时间: 2022-12-12 08:00   作者:admin