随着大数据开发的发展,越来越多的人想要转行或者学习大数据开发这一块,工资和发展前景都让大家越来越看好。而kafka作为一个核心模块,是学习过程的一个要点知识,今天我们就一起来看一下关于Kafka的核心调优参数。
...kafka的配置属性多达几百个,在生产环境中对kafka进行调优时,要如何设置Kafka的核心调优参数?在调优之前,我们要先分析业务场景,然后在吞吐量、延时、可靠性和可用性4个方面做权衡。
下面我们就从这四个方面来了解一下,从而逐一分析kafka应该设置哪些核心属性以及提供建议值。
1、吞吐量优先
吞吐量优先意味着需要尽可能提升每秒发送消息的吞吐量
常见场景:日志收集
压缩类型为什么选择lz4? 因为这种类型的压缩方式下,吞吐量最大。吞吐量优先时,会占用大量的网络带宽,如果不希望影响整个网络,可以设置配额。
2、低延时优先
低延是指producer开始发送消息到consumer接收到消息的时间差。低延时优先意味着每条消息需要尽可能快地完成端对端(从producer到consumer)的传递
常见场景:近实时数据的传输、聊天、视频弹幕等应用
3、可用性优先
提高可用性,就需要在kafka出现故障时,能够尽快地恢复。
acks对吞吐量、延时和可靠性的影响
1、可靠性优化
可靠性就是要降低丢失消息的概率。最常见的做法就是通过消息复制实现高可靠。
default.replication.factor和min.insync.replicas的区别 default.replication.factor是指分区的总的副本个数,min.insync.replicas是指ISR列表中最少的在线副本的个数(含leader),当在线的副本个数小于min.insync.replicas时,生产者发送消息会失败。default.replication.factor=3,min.insync.replicas=2表示消息总共有3个副本,当在线的副本大于或者等于2时,生产者可以继续发送消息,能够容忍1个备份不可用,否则不能发送消息。
以上就是关于kafka的核心调优参数内容了,希望对大家能有所帮助。如果想了解更多详情,请点击成都加米谷大数据官网吧!