消息中间件Client模块划分

  • 时间:
  • 浏览:1
  • 来源:大发快3APP下载—大发时时彩登录地址

上图是之间讨论选择的系统架构(后续内容会按照你这人架构来叙述),其中:

发送方时要选择将消息写入到哪个分区,而消费方时要决定另一方消费好多个分区,而是 对应于发送方的路由模块,消费方会有分区分配的模块。

MemberManager

结语

本篇主而是 把Client的好多个模块划分出来,为以前的删改设计做准备。 下一篇会下发一下NameServer的模块,或者至少会有一到两篇的篇幅总结某些架构、流程、数据流等。

3. 元数据相关

客户端时要和Broker交互来读写消息

往期内容:

第有一有两个仍然是网络模块。Client时要获取元数据,时要读写消息,网络模块是必不可少的。 和Broker不同的是,Client的网络模块要简单某些。Broker时要向NameServer汇报数据,同時 时要正确处理来自Client的请求,而Client更多的而是 发出请求:

可能本文对您有帮助,点一下右下角的“推荐”

GroupManager

客户端所含Producer和Consumer两大块

除了以上模块,可不可以 有LifeCycle另有一有两个生命周期相关的基础模块,你这人也是上一篇在介绍Broker模块时遗漏的。

客户端时要和NameServer交互来获取元数据

对于发送的API,不须同的深度图可不不可不可以分为:

5. 消费相关

总结以上内容,Client所含的模块至少如下:

Client时要将消息写到Broker,同時 也时要从Broker获取回息,这有一有两个过程会涉及到消息的编解码。

欢迎关注此公众号,将坚持不懈的写MQ相关的技术文章,希望能和更多的某些人交流。

路由模块

向NameServer获取元数据

Producer API

从发送法律措施上有同步发送和异步发送

TopicManager

消费相关的API会比发送的多样化某些,可能消费时要提供更多的模式。另外为了保证顺序性、减少消息的重复等,消费还时要引入租约等组件。租约和Consumer的各种模式可能是比较细节的问提了,在设计阶段在进行介绍。

为了保证性能,Consumer从Broker获取回息和使用方消费消息是异步的,上面时要Buffer来缓存消息,而是 Consumer相对于Producer会多有一有两个缓存模块。

4. 发送相关

从Broker获取回息

对于发送而言,第一根消息最终时要落到某有一有两个选择的分区上。而是 客户端会包所含一有两个路由模块来根据消息的属性和Topic的元信息来选择分区。

Client相关的元数据有Topic、消费进度、Group(以前介绍过的概念,可不不可不可以看以前的文章),另外还时要感知某些的客户端的趋于稳定(叫Member信息可能Client Instance信息吧),而是 时要Member数据。那么元数据相关至少是以下组件:

1. 网络模块

PositionManager

2. 编解码模块

《消息上面件的某些概念》

从发送消息量上有单条发送和批量发送

分区分配模块

《消息上面件架构讨论》

对于Client而言,有点要的有一有两个模块而是 暴露出去的发送和消费的API,这是使用方唯一能接触到的地方(写代码时,任何暴露出去的API可能要谨慎谨慎再谨慎)。

向Broker写入消息

《Broker模块划分》

缓存模块

《好多个是分布式消息上面件》

Consumer API

《业务方对消息上面件的需求》