开发者社区 > 云原生 > 云消息队列 > 正文

有没有人找到Apache RocketMQ为什么这个默认主题里面存了这么多消息呀?

有没有人找到Apache RocketMQ为什么这个默认主题里面存了这么多消息呀?10b3d4b533e6e3ba24d73a69a62ec3c4.png

展开
收起
真的很搞笑 2023-06-28 17:25:18 51 0
3 条回答
写回答
取消 提交回答
  • 在Apache RocketMQ中,消息保存时长并不能完整控制消息的实际保存时间,因为消息存储仍然使用本地磁盘,本地磁盘空间不足时,为保证服务稳定性消息仍然会被强制清理,导致消息的实际保存时长小于设置的保存时长。

    此外,RocketMQ为了保证消息发送的高吞吐量,采用单一文件存储所有主题消息,保证消息存储是完全的顺序写。

    2023-06-30 07:47:45
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    Apache RocketMQ中的默认主题(DefaultTopic)是用来存储一些特定场景下的系统消息和各种操作事件的。这些消息通常不是由应用程序直接发送的,而是由RocketMQ自身或相关组件在运行过程中产生的。

    一些常见的情况下会导致默认主题存储了大量的消息:

    1. 消息重试:RocketMQ具有消息重试机制,当消息发送失败时,RocketMQ会自动进行重试。这些重试消息会被发送到默认主题中,以等待后续的处理。

    2. 客户端异常:当RocketMQ的消费者遇到无法处理的异常情况时,可能会生成一些错误或异常消息,并将其发送到默认主题中。

    3. 系统事件:RocketMQ本身会生成一些系统事件消息,用于记录和通知关键的运行时事件,如Broker的启动和关闭、Topic的创建和删除等。

    此外,在某些特定的应用场景中,用户可能会将默认主题作为自己业务消息的存储目标,这也会导致默认主题中存储了大量的消息。

    如果您发现默认主题中存储了大量消息,可以根据具体的需求和场景进行分析和处理。例如,您可以增加消费者的并发数来加快消息的消费速度,或者定期清理旧的系统消息和事件消息等。

    默认主题的消息保留时间和存储策略等参数可以通过配置文件进行调整,您可以根据具体的需求来配置这些参数以控制默认主题中消息的存储量。

    2023-06-29 08:12:09
    赞同 展开评论 打赏
  • 看下你的dashboard里面的消息查出来是不是有重复的 相同的有两条,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”

    2023-06-28 17:27:49
    赞同 展开评论 打赏

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

相关产品

  • 云消息队列 MQ
  • 热门讨论

    热门文章

    相关电子书

    更多
    Apache Flink技术进阶 立即下载
    Apache Spark: Cloud and On-Prem 立即下载
    Hybrid Cloud and Apache Spark 立即下载

    相关镜像