栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

RocketMQ工作原理

RocketMQ工作原理

1、消息的生产 1.1 消息的生产过程

Producer发送消息之前,会从NameServer拉取topic的路由信息;

根据指定的Queue选择策略,从Queue列表中选出一个队列;

对消息做一些特殊处理,例如,消息本身超过4M,则会对其进行压缩;

向选择的Queue所在的Broker发出RPC请求,将消息发送到选择的Queue中。

1.2 Queue选择算法

对于无序消息,其Queue选择算法,也称为消息投递算法,常见的有两种:

轮询算法

这是默认选择的算法。该算法保证了每个Queue中可以均匀的获取到消息。

该算法存在一个问题:由于某些原因,在某些Broker上的Queue可能投递延迟较严重。从而导致Producer的缓存队列中出现较大的消息积压,影响消息的投递性能。

最小投递延迟算法

该算法会统计每次消息投递的时间延迟,然后根据统计出的结果将消息投递到时间延迟最小的Queue。
如果延迟相同,则采用轮询算法投递。该算法可以有效提升消息的投递性能。

该算法也存在一个问题:消息在Queue上的分配不均匀。投递延迟小的Queue其可能会存在大量的消息。而对该Queue的消费者压力会增大,降低消息的消费能力,可能会导致MQ中消息的堆积。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/701781.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号