RocketMQ 问题整理

问题1:有多个topic吗?有没有上限?

对于消息中间件rocketmq来说,可以存在多topic,无上限规定,实现对消息进行归类和隔离。随着Topic的增加对性能的影响较小,稳定性较好。

问题2:业务较多时,能用一个topic实现吗?如何区别不同业务?

业务较多时,可以使用一个topic,通过tags标签去区分不同的业务,代表一类消息。

问题3:怎么处理消息重复的问题?

造成消息重复的根本原因是网络不可达,只要通过网络交换数据,就无法避免该问题。Rocketmq不保证消息不重复,对于重复的消息处理问题,需要在业务端去重。例如通过redis记录已经消费成功的消息ID,如果有新到的消息ID已经存在,就不再处理该消息。

问题4:消息堆积数量可以设置吗?堆积消息后,怎么处理?

不可设置,取决于内存buffer大小,或读IO的吞吐量。

情况一:堆积在内存buffer中,堆积能力取决于内存buffer大小

情况二:堆积在持久化存储系统中,如DB,文件记录形式,读io的吞吐量决定堆积后的访问能力。

rocketmq特性之一具有亿级消息堆积能力。consumer可以通过处理消息堆积情况,例如:某个队列的消息数堆积到 100000 条以上,则尝试丢弃部分或全部消息,这样就可以快速追上发送消息的速度。

InsertPic_.jpg.pdf 

问题5:有没有出现消息丢失的情况?

当broker宕机的情况下,可能出现消息丢失,并且和broker集群模式有关。

例如

多master模式:单台机器重启或宕机期间,会有少量消息丢失,该机器下未被消费的消息在机器恢复前不可订阅,影响消息实时性。

多Master多Slave模式:Master宕机或磁盘损坏时会有少量消息丢失

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值