pdf文档 NSQ - 陈冶

2.49 MB 37 页 0 评论
语言 格式 评分
中文(简体)
.pdf
3
摘要
文档介绍了NSQ(舜飞消息队列服务)的核心概念和功能。NSQ是一个面向跨进程和跨服务器通信的组件,支持异步通信,用于数据缓冲、广播、负载均衡和消费反馈。其架构包括Topic、Channel、内存队列和磁盘队列的混合使用,NSQd和NSQ Lookupd支持分布式部署和横向扩展。然而,NSQ也存在一些问题,如Topic到Channel的高消费开销、大量小数据包导致系统调用频繁以及Producer缺乏官方分布式解决方案。
AI总结
《NSQ - 陈冶》总结 NSQ是消息队列服务,主要用于跨进程/跨服务器通讯,支持异步通信,能够将可并行化处理的同步操作解耦。 ### 使用需求 1. 数据缓冲:提升系统可用性,缓冲服务故障。 2. 数据广播:将数据分发给多个服务。 3. 负载均衡:提高消费者的扩展性。 4. 消费反馈:确保消息不丢失。 5. MQ特性:支持分布式部署,避免单点故障,具备横向扩展性。 ### NSQ概念 1. 核心组件:Topic和Channel。 2. 数据存储:内存队列和磁盘队列混合使用,优化性能和可用性。 3.消费逻辑:通过`MaxInFlight`控制消息流速。 ### 总结 - **优点**: • 将复杂度集中在服务端,降低客户端使用难度。 • 数据无冗余。 - **缺点**: • 数据广播空间复杂度为O(N)。 • 内存队列与磁盘队列混合使用可能影响时序性。 • Topic到Channel的消费开销较高。 • 大量Fin包可能导致系统调用频度高。 • Producer没有官方提供的分布式解决方案。 ### NSQ解决方案 1. 分布式架构:通过`NSQd`和`NSQ Lookupd`实现分布式部署,解决单点故障和性能瓶颈。 2. 内部逻辑:`NSQd`处理消息存储和分发,`NSQ Lookupd`负责服务发现和消费者管理。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 30 页请下载阅读 -
文档评分
请文明评论,理性发言.