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

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

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

展开
收起
1012002070674072 2023-10-18 14:07:36 507 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
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,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
    赞同 展开评论 打赏
  • 生产者写入的最大消息大小大于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
    赞同 展开评论 打赏

多个子产品线联合打造金融级高可用消息服务以及对物联网的原生支持,覆盖多行业。

相关产品

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

    热门文章

    相关电子书

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