RocketMQ - 深入研究一下生产者到底如何发送消息的

1. 创建Topic的时候为何要指定MessageQueue数量

首先如果要搞明白生产者的工作原理,那么就必须先明白一个概念,MessageQueue是什么?

而要明白MessageQueue是什么,就必须把他跟Topic以及Broker综合起来看,才能搞明白。如果我们要使用RocketMQ,你先部署出来一套RocketMQ集群这个肯定是必须的,有了集群之后,就必须根据你的业务需求去创建一些Topic。

像我们创建的这些Topic就可以在上面提到的rocketmq-console控制台去创建,在创建Topic的时候,需要指定一个很关键的参数,就是MessageQueue。

简单来说,就是你要指定你和这个Topic对应了多少个队列,也就是多少个MessageQueue。

那么这个MessageQueue是用来干嘛的?

2. Topic、MessageQueue以及Broker之间到底是什么关系

假设我们现在创建了一个Topic,指定了4个MessageQueue,那么这个Topic的数据在Broker集群中是如何分布的?

每个Topic的数据都是分布式存储在多个Broker中的,那么我们如何决定这个topic的哪些数据放在这个broker上,哪些数据放在那个broker上呢?

所以RocketMQ引入了MessageQueue的概念,本质上就是一个数据分片的机制。在这个机制中,假设Topic有1万条数据,然后Topic有4个MessageQueue,那么大致可以认为会在每个MessageQueue中放入2500条数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无法无天过路客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值