跳转至

Kafka 配置

时间:2019/6/4 16:37:21

参考:

  1. 《Kafka技术内幕》

KafKa 配置#

服务段配置#

日志策略:

  • log.flush.interval.ms:多长时间往日志文件刷新一次数据。
  • log.segment.bytes:单个日志文件大小,超过之后会自动生成新文件。
  • log.retention.check.interval.ms:检测日志文件的时间间隔,如果超过时间或大小限制就会被删除。
  • log.retention.hours:日志文件保留多长时间。
  • log.retention.bytes:日志文件多大之后删除。

分区和副本:分区数量要尽量大于集群中服务器数量,这样主分区会均衡的分布在不同的机器上。

客户端配置#

消息发送:

  • acks: 服务端多少个节点保存消息完成之后视为消息保存成功。

    • 0:发送出去就认为保存成功。
    • 1:主副本保存成功。
    • all:主副本和所有从副本都保存成功。
  • batch.size:生产者等待发送到一个分区的数据达到多大时进行批量发送,单位字节。

    • 0:禁用,一条发送一次。
  • linger.ms:生产者等待多长时间发送一次数据。结合 batch.size 使用,任一条件满足都会发送数据。
  • retries: 发送时出错的重试次数。

消息拉取:

  • fetch.min.bytes:每次拉取消息的最小字节数,服务端没有被消费的数据小于这个值时服务端会阻塞请求。
  • fetch.max.bytes:每次拉取消息的最大字节数。
  • fetch.max.wait.ms:数据没有达到 fetch.min.bytes 服务端阻塞的最长时间。