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

rocketmq 超过4M消息体怎么发送

每秒10包压缩后的数据,每包超过4M,持续数据实时性高 oss方式不合适,切割组合的话 分布式场景下 可能不是一个服务收到同一个切割后的包,生产者如果写maxMessageSize大于4m 服务端需要怎么调整才能发送超过4m的消息

展开
收起
1012002070674072 2023-10-18 14:07:36 1763 1
3 条回答
写回答
取消 提交回答
  • RocketMQ默认的消息体大小限制是4MB,如果需要发送超过4MB的消息体,需要进行一些配置调整。

    1. 修改生产者的配置:在生产者端,可以通过设置maxMessageSize属性来调整消息体的最大大小。将该属性设置为大于4MB的值即可发送超过4MB的消息体。例如,如果要发送8MB的消息体,可以将maxMessageSize设置为8 1024 1024。
    DefaultMQProducer producer = new DefaultMQProducer("producer_group");
    producer.setMaxMessageSize(8 * 1024 * 1024); // 设置最大消息体大小为8MB
    producer.start();
    
    1. 修改Broker的配置:在Broker端,需要修改storePathCommitLogmappedFileSizeCommitLog这两个参数的值。这两个参数分别表示CommitLog文件的存储路径和每个文件的大小。默认情况下,它们的值分别为$HOME/store/commitlog和1GB。为了支持更大的消息体,需要将它们设置为更大的值。例如,可以将其设置为5GB。
    # Broker配置文件中的设置
    storePathCommitLog=/path/to/store/commitlog
    mappedFileSizeCommitLog=5G
    
    1. 重启Broker:修改完Broker的配置后,需要重启Broker以使新的配置生效。

    通过以上步骤,生产者和Broker都可以支持发送超过4MB的消息体了。

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

    在RocketMQ中,默认情况下,发送的消息体大小是有限制的,其最大限制是4MB。如果需要发送超过4MB大小的消息体,可以按照以下步骤进行配置和调整:

    1. 在RocketMQ的生产者端,通过设置MaxMessageSize属性来增加消息体的大小限制。可以在生产者的配置文件(如producer.properties)中添加以下属性设置:

      maxMessageSize=xxxxxx
      

      其中,xxxxxx为期望的最大消息体大小(单位为字节)。注意,该值的范围限制是0到8MB之间。

    2. 在RocketMQ的消费者端,也需要对应地进行配置以支持接收超过4MB的消息体。可以在消费者的配置文件(如consumer.properties)中添加以下属性设置:

      maxMessageSize=xxxxxx
      

      同样,xxxxxx为期望的最大消息体大小(单位为字节)。

    3. 在RocketMQ的Broker端,需要对maxMessageSize进行相应的调整。可以修改broker.conf配置文件,添加或修改以下属性:

      maxMessageSize=xxxxxx
      

      同样,xxxxxx为期望的最大消息体大小(单位为字节)。

    2023-10-18 18:27:42
    赞同 1 展开评论 打赏
  • 生产者写入的最大消息大小大于4M,那么服务端需要调整最大消息大小和最大序列化体积,以便可以发送超过4M的消息。需要将服务端的配置文件中的max.message.size和max.request.size参数调整为大于4M的值,以确保可以发送超过4M的消息。为了保证消息的实时性,还需要调整服务端的配置文件中的max.in.flight.requests.per.connection参数,将其设置为一个足够大的值,以便可以同时处理多个大于4M的消息。
    image.png

    2023-10-18 14:39:36
    赞同 1 展开评论 打赏

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

相关产品

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

    热门文章

    相关电子书

    更多
    RocketMQ Client-GO 介绍 立即下载
    RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载
    基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载