在rocketMq中核心组件有哪些

67次阅读
没有评论

共计 1454 个字符,预计需要花费 4 分钟才能阅读完成。

这篇文章主要介绍在 rocketMq 中核心组件有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

 

  在 rocketMq 的中核心 4 组件为 namesrv、broker、consumer、producer。

 broker:消息存储中心,主要用来存储消息并通过 namesrv 对外提供服务。

 namesrv:无状态的注册中心,功能用来保存 broker 的相关的元信息并提供给 producer 在发送消息过程中和提供给 consumer 消费消息过程中查找 broker 信息。

 producer:消息生产者,通过 namesrv 获取 broker 的地址并发送消息。

 consumer:消息消费者,通过 namesrv 获取 broker 的地址并消费消息。

rocketMq 部署情况介绍

rocketMq 部署图

rocketMq 的集群概念细分

说明:

    rocketMq 实际部署图,每个组件都可以用集群形式出现。

 producer:通过 producerGroup 的名字来标记自己是一个集群。

 consumer:通过 consumerGroup 的名字来标记自己是一个集群。

 namesrv:相互之间无通信,通过部署多台机器来标记自己是一个伪集群。

 broker:通过 clusterName 来标记集群,每个 broker 通过 clusterName 来表明 cluster 层面集群,通过 brokerName 来标明 broker 层面集群,通过 brokerId 标明主从身份。

rocketMq 消息存储介绍

rocketMq 消息存储

说明:

    rocketMq 的消息存储通过二级索引来进行,其中实际消息存储在 Commit Log 的逻辑队列中(磁盘文件消息顺序写),consume queue 保存着每个消息消费队列的待消费的数据并且指向 commit Log。

rocketMq 线上配置介绍

rocketMq 实际数据存储

说明:

    rocketMq 线上环境的真实存储,每个 broker 的存储数据格式就是类似上图。

 config 目录

 consumerFilter:保存 consumer 端的消息过滤配置,应该是等消费端配置了过滤规则就会在这个文件中增加记录。

 consumerOffset:消费进度偏移量,以 topic@consumerGroup 作区别,0:125 的 0 代表队列,125 代表消费偏移量。

consumerOffset

delayOffset:延迟队列消费进度,其中 2 代表延迟粒度,2000 代表消费进度。

delayOffset

subscriptionGroup:表示订阅消费的消费组。

subscriptionGroup

topic:rocketMq 中 topic 的信息,可以理解 topic 为业务消息分组的粒度,一般一个 topic 为一类业务的逻辑消息集合。

topic 

commitlog 目录

    rocketMq 实际存储消息的位置。

consumequeue 目录

 %DLQ%@ConsumeGroupA:消费分组的死信队列,保存指向 commit log 的索引。

 %RETRY%@ConsumeGroupA:消费分组的充实队列,保存指向 commit log 的索引。

 SCHEDULE_TOPIC_XXXX:延迟消息队列,保存指向 commit log 的索引。

 TOPICA:topic 的消费队列存储,保存指向 commit log 的索引。

以上是“在 rocketMq 中核心组件有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计1454字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)