问题一:RocketMQ有遇到过这种问题没?
RocketMQ有遇到过这种问题没?同样的代码,在uat环境的k8s中,consumer可以消费到。在prod的k8s环境中,consumer就是消费不到。
区别点
1.uat环境的mq的版本是:4.5.2;prod环境的mq的版本是:4.9.6
参考答案:
这个问题我之前还没遇到过,但是应该还是分两大类:我感觉RocketMQ在容器化中消费不到可能是由于版本不兼容导致的。检查一下RocketMQ的版本是否一致,最新版本兼容什么消费列,尝试升级到最新版本。同时也可以检查一下RocketMQ的配置文件是否正确有没有配置冲突导致的问题,具体还得看日志,看这个界面是解决不了问题的
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/597230
问题二:RocketMQ4版本的是不是不支持命令行 发送制定消息?
RocketMQ4版本的是不是不支持命令行 发送制定消息?
参考答案:
发送消息可以用 rocketmq-console 发送,纯命令行的我也没用过,只用过查询消息的。建议你用spring-boot写一个简单的生产者,放到网络连通的服务器上跑,简单、快速。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/597229
问题三:RocketMQ使用5.x proxy模块这个问题,有什么方式优化吗?
RocketMQ使用5.x proxy模块看到有个DefaultHeartBeatSyncerTopic,看源码猜测大概是同步在线的客户端,但是光这个topic的qps就有好几百,占用了很多的磁盘的资源。这个有什么方式优化吗?
参考答案:
RocketMQ的DefaultHeartBeatSyncerTopic确实是用于同步在线客户端的心跳信息。如果这个topic的QPS很高,导致磁盘资源占用过多,可以尝试以下几种优化方式:
- 调整心跳间隔:默认情况下,RocketMQ的心跳间隔是30秒。如果业务允许,可以适当增大心跳间隔,减少心跳的频率,从而降低QPS。
- 分区优化:如果DefaultHeartBeatSyncerTopic的分区数设置得过少,可能会导致单个分区的压力过大。可以根据实际的客户端数量和业务需求,适当增加分区数,将压力分散到更多的分区。
- 消息清理策略:RocketMQ的消息清理策略默认是定时清理。如果有大量的心跳消息,可以考虑调整清理策略,例如使用空间阈值清理,当消息存储空间达到一定阈值时,自动清理旧消息。
- 使用更高性能的存储介质:如果磁盘I/O成为瓶颈,可以考虑使用更高性能的存储介质,例如SSD。
- 优化消息消费性能:如果消息消费的速度跟不上消息产生的速度,可能会导致消息堆积,进一步加重磁盘压力。可以考虑优化消费者的消费逻辑,提高消费速度。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/597228
问题四:RocketMQ有没得 副本的概念 ?
RocketMQ有没得 副本的概念 ?
参考答案:
有的,但是一般不叫副本,一般叫主从。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/597227
问题五:RocketMQ如果是轮询的存储消息的话,那消费者(假设只有一个),是不是也得轮询的消费?
RocketMQ如果是轮询的存储消息的话,那消费者(假设只有一个),是不是也得轮询的消费?假设有顺序要求
参考答案:
多个queue不保证顺序。
关于本问题的更多回答可点击进行查看: