kafka处理超大消息的配置

总会遇到各种各样的需求,kafka达到最佳吞吐量的消息大小是10k,而在我们的项目中,消息有的是1k,有的是100M,最大可达400M,这种消息很少很少,但是会有,所以整套环境必须要使用1K~400M。

kafka最近的版本对消息的最大限制是2G,是足够的,这里有3个地方要配置:

  • broker
    message.max.bytes :500000000B(500M),这是单个消息的最大值
    replica.fetch.max.bytes :512000000B(512M),这是单个消息的最大值broker可复制的消息的最大字节数,比message.max.bytes大,否则broker会接收此消息,但无法将此消息复制出去,从而造成数据丢失,但是不能太大!!!不然复制的时候容易内存溢出
  • consumer
    fetch.message.max.bytes:500000000B(500M) 这是消费者能读取的最大消息,大于或等于message.max.bytes
  • producer
    max.request.size:500000000B(500M) 这是生产者能请求的最大消息,大于或等于message.max.bytes

kafka jvm参数调整:

  • 堆内存:kafka-server-start.sh文件的 export KAFKA_HEAP_OPTS="-Xmx6G -Xms6G"

这样基本就完了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值