彻底搞懂Docker容器与Kraft模式kafka集群关于消息大小相关参数设置

发布时间 2023-10-18 15:12:41作者: 付同學

Docker部署的设置

部署背景:
在DockerHub拉取的bitnami/kafka:3.4.1 镜像,如果要部署在Docker-Swarm集群或者单Docker部署,对于消息大小设置需要添加参数 KAFKA_CFG_MESSAGE_MAX_BYTES,如何设置为其他不符合规范的参数格式,会导致容器一直启动不了。

PS:KAFKA_CFG_MESSAGE_MAX_BYTES 是针对Broker级别消息大小限制的配置

image

可以通过kafka管控平台查看相关参数可得,消息体大小设置已重启生效
当然如果大多数Topic对于消息的大小需求都在默认的1MB以内,小部分Topic有需求的话,可以单独调整单个Topic的设置
image

Kraft模式Kafka集群部署的设置

部署背景:
在通过Kafka官网下载的V3.5.1 Binary Download包部署的三节点Kraft模式kafka集群下,设置参数
接下来从消息流方向进行解析
(1)生产者限制
max.request.size
image

batch.size
batch.size默认16KB,那么每个Batch需要凑满16KB才会一次性推送到Kafka集群,提高此参数可以允许更多的数据缓冲到batch,吞吐量会有所提高,如果设置得过大但流量较小导致数据一直缓冲在batch无法推出就会导致延迟很高

(2)Kafka Topic限制
max.request.size
image

(3)Kafka Broker限制:
message.max.bytes
image

(4)消费者限制
max.partition.fetch.bytes
image