1、Broker配置
核心配置项:
broker.id:每个broker在集群中的唯一标识,需要设置为正数,即使改变IP地址,只要broker.id保持不变,不会影响consumer的状态。
log.dirs:Kafka数据的存放路径,可以是多个路径,用逗号分隔,创建新partition时,会选择包含最少partitions的路径进行。
系统相关配置:
port:提供给客户端响应的端口。
message.max.bytes:消息体的最大大小,单位是字节。
性能相关配置:
num.network.threads:broker处理消息的最大线程数,一般情况下不需要修改。
num.io.threads:broker处理磁盘IO的线程数,数值应大于硬盘数。
其他重要配置:
background.threads:一些后台任务处理的线程数,例如过期消息文件的删除等。
queued.max.requests:等待IO线程处理的请求队列最大数,超过此数值会停止接受外部消息,起到自我保护的作用。
2、LOG 相关配置:
log.segment.bytes:控制每个日志segment的大小,超过指定大小时会重新创建一个文件。
log.roll.hours:即使文件没有达到log.segment.bytes设置的大小,也会在达到设定时间后强制新建一个segment。
log.cleanup.policy:选择日志清理策略,如delete或compact,主要针对过期数据处理。
3、Producer配置:
producer.type:定义消息发送方式,可以是同步或异步。
bootstrap.servers:指定Kafka broker的地址清单,用于建立初始连接。
key.serializer 和value.serializer:分别设置消息键和值的序列化方式。
4、Consumer配置:
bootstrap.servers:与Producer相同,指定Kafka broker地址。
group.id:消费者组的唯一标识符,用于区分不同的消费者组。
key.deserializer 和value.deserializer:分别设置消息键和值的反序列化方式。
详细列出了Kafka的主要配置选项,并解释了每项配置的功能和适用情况,通过合理配置这些参数,可以优化Kafka的性能和功能,满足不同的业务需求。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/760587.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复