RocketMQ-Topic创建

手动创建

我们打开控制台,有一个主题的table,点击新增
在这里插入图片描述
这里创建Topic分为集群模式,和Broker模式,二者区别如下

  • 集群模式:该模式下创建的Topic是指当前集群下,所有的Broker中的Queue数量是相同的
  • Broker模式:该模式下创建的Topic在集群中,每隔Broker中的Queue数量可以不同

自动创建

自动创建Topic时,默认采用的是Broker模式,会为每个Broker默认创建4个Queue,这个可以再配置文件中配置。

读/写队列

介绍
读写队列实际上在物理概念上是同一个队列,所以是不存在读写队列数据同步的问题,读写队列是在逻辑上区分的概念,一般情况下读写队列数量是相同的,但是我们可以设置不同,比如创建Topic时,设置我们写队列创建8个,读队列4个,那么就会有0-7个Queue可写,0-3个队列为可读,那么Producer会将消息写入到0-7这八个队列中,但是Consumer只会消费0-3这4个Queue中的消息,4-7中的Queue中的消息是不会被消费的,假设我们消费者集群中有两个Consumer,Consumer1消费0-3,Consumer2消费4-7,但是实际上Consumer2是没法消费消费消息的,那么这样一个设置,很明显是容易出现问题的,但是RocketMQ为什么这么设置呢,原因如下!

缩容
通常情况下,我们手动创建Topic的时候读写Queue设置都是一样的,但是如果我们刚开始高估了我们的系统消息吞吐量,一开始就设置为16个Queue,但是后期实际上消息只有一半,那么为了提高系统资源利用,我们可以对Topic下的Queue进行动态缩容,那么这时我们就可以调整读写队列数量,我们可以先将写队列缩容为8,那么此时生产者发送的消息就自会到达0-7队列中,二消费者还是消费0-15中的Queue,等待消费者将8-15Queue消费完,那么此时,就可以将读队列设置为8个,那么此时就可以保证消息不丢失的情况下完成动态缩容

perm

是设置当前Topic的读写权限,默认是6,2是只读、4是只写、6是读写

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员劝退师-TAO

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

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

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

打赏作者

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

抵扣说明:

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

余额充值