每秒10包压缩后的数据,每包超过4M,持续数据实时性高 oss方式不合适,切割组合的话 分布式场景下 可能不是一个服务收到同一个切割后的包,生产者如果写maxMessageSize大于4m 服务端需要怎么调整才能发送超过4m的消息
rocketmq 超过4M消息体怎么发送[阿里云消息队列MQ]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
每秒10包压缩后的数据,每包超过4M,持续数据实时性高 oss方式不合适,切割组合的话 分布式场景下 可能不是一个服务收到同一个切割后的包,生产者如果写maxMessageSize大于4m 服务端需要怎么调整才能发送超过4m的消息
RocketMQ默认的消息体大小限制是4MB,如果需要发送超过4MB的消息体,需要进行一些配置调整。
maxMessageSize
属性来调整消息体的最大大小。将该属性设置为大于4MB的值即可发送超过4MB的消息体。例如,如果要发送8MB的消息体,可以将maxMessageSize
设置为8 1024 1024。storePathCommitLog
和mappedFileSizeCommitLog
这两个参数的值。这两个参数分别表示CommitLog文件的存储路径和每个文件的大小。默认情况下,它们的值分别为$HOME/store/commitlog
和1GB。为了支持更大的消息体,需要将它们设置为更大的值。例如,可以将其设置为5GB。通过以上步骤,生产者和Broker都可以支持发送超过4MB的消息体了。
在RocketMQ中,默认情况下,发送的消息体大小是有限制的,其最大限制是4MB。如果需要发送超过4MB大小的消息体,可以按照以下步骤进行配置和调整:
在RocketMQ的生产者端,通过设置
MaxMessageSize
属性来增加消息体的大小限制。可以在生产者的配置文件(如producer.properties
)中添加以下属性设置:其中,
xxxxxx
为期望的最大消息体大小(单位为字节)。注意,该值的范围限制是0到8MB之间。在RocketMQ的消费者端,也需要对应地进行配置以支持接收超过4MB的消息体。可以在消费者的配置文件(如
consumer.properties
)中添加以下属性设置:同样,
xxxxxx
为期望的最大消息体大小(单位为字节)。在RocketMQ的Broker端,需要对
maxMessageSize
进行相应的调整。可以修改broker.conf
配置文件,添加或修改以下属性:同样,
xxxxxx
为期望的最大消息体大小(单位为字节)。生产者写入的最大消息大小大于4M,那么服务端需要调整最大消息大小和最大序列化体积,以便可以发送超过4M的消息。需要将服务端的配置文件中的max.message.size和max.request.size参数调整为大于4M的值,以确保可以发送超过4M的消息。为了保证消息的实时性,还需要调整服务端的配置文件中的max.in.flight.requests.per.connection参数,将其设置为一个足够大的值,以便可以同时处理多个大于4M的消息。