首页 新闻 会员 周边

rocketmq 如果我只有生产端不断的发消息,rocketmq默认使用什么策略接收消息?

0
悬赏园豆:10 [已解决问题] 解决于 2023-01-07 12:19
  1. rocketmq 如果我只有生产端不断的发消息,rocketmq默认使用什么策略接收消息?
  2. 它会把消息不断的存文件里吗?会不会出现内存溢出?
  3. 还是直到硬盘塞满?
  4. 还是有个上线值到达一定的量会有回收策略?
  5. 可以设置回收策略吗?
  6. 怎么设置上线和回收策略?
问题补充:

没人会吗?

老梁讲Java的主页 老梁讲Java | 初学一级 | 园豆:142
提问于:2018-09-14 19:36
< >
分享
最佳答案
0

RocketMQ 会将消息存储在本地文件系统中,并且在消息被消费之前会先存储在内存中。这样,消息在被消费之前就可以快速被访问,提升了消息的处理效率。

如果你的系统中有大量的消息需要处理,RocketMQ 会自动扩展存储空间,以避免内存溢出的情况。但是,如果你的系统在短时间内收到了大量的消息,并且这些消息在消费之前都存储在内存中,那么可能会出现内存溢出的情况。

为了避免这种情况的发生,你可以在创建生产者时设置 sendMessageBatchMaxSize 参数,以控制一次发送的消息数量。你也可以设置 defaultQueueMaxSize 参数来限制单个队列中的消息数量。这样,RocketMQ 就可以在内存空间不足时自动限流,从而避免内存溢出的情况。

有关 RocketMQ 的更多信息,可以参考官方文档:https://rocketmq.apache.org/docs/quick-start/

老梁讲Java | 初学一级 |园豆:142 | 2023-01-07 12:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册