加载中...

NSQ 是美国短链接服务公司 bitly 开源的实时分布式消息平台,用 Go 语言编写,2012 年发布,设计目标是简单、去中心化、水平扩展。
NSQ 由三个组件构成:nsqd 是核心守护进程,负责接收、排队和投递消息,各节点完全独立、互不通信;nsqlookupd 提供拓扑发现服务,消费者通过它找到承载某个主题的所有 nsqd;nsqadmin 是 Web 管理界面。生产者直接写本地或就近的 nsqd,没有单点 Broker。
主题(Topic)下可挂多个通道(Channel),每个通道收到主题全量消息的副本,通道内的多个消费者则分摊消费,天然同时支持广播与负载均衡。消息默认存内存、超阈值落盘,提供至少一次投递,不保证顺序。
优点是无依赖单二进制、运维极简、故障域小;缺点是不保证消息顺序、无副本机制(节点磁盘损坏可能丢消息)、历史消息不可回放,适合日志、通知类对顺序不敏感的场景。

登录 后参与讨论
暂无讨论,来发表第一条评论吧