一、生产者配置参数释义
1.bootstrap.servers 指定Kafka集群所需的broker地址清单,默认 ""
2.metadata.max.age.ms 强制刷新元数据时间,毫秒,默认300000,5分钟
3.batch.size 指定ProducerBatch内存区域的大小,默认16kb
4.acks 指定分区中必须有多少个副本收到这条消息,才算消息发送成功,默认值1,字符串类型
5.linger.ms 指定ProducerBatch在延迟多少毫秒后再发送,但如果在延迟的这段时间内batch的大小已经到了batch.size设置的大小,那么消息会被立即发送,不会再等待,默认值0
6.client.id 用户设定,用于跟踪记录消息,默认 ""
7.send.buffer.bytes Socket发送缓冲区大小,默认128kb,-1将使用操作系统的设置
8.receive.buffer.bytes Socket接收缓冲区大小,默认32kb,-1将使用操作系统的设置
9.max.request.size 限制生产者客户端发送消息的最大值,默认1MB
10.reconnect.backoff.ms 连接失败后,尝试连接Kafka的时间间隔,默认50ms
11.reconnect.backoff.max.ms 尝试连接到Kafka,生产者客户端等待的最大时间,默认1000ms
12.max.block.ms 控制生产者客户端send()方法和partitionsFor()方法的阻塞时间。当生产者的发送缓存区已满,或者没有可用元数据时,这些方法就会阻塞,默认60s
13.buffer.memory 生产者客户端中用于缓存消息的缓存区大小,默认32MB
14.retry.backoff.ms 消息发送失败重试时间间隔,默认100ms
15.compression.type 指定消息的压缩方式,默认不压缩
16.metrics.sample.window.ms 样本计算时间窗口,默认30000ms
17.metrics.num.samples 用于维护metrics的样本数量,默认2
18.metrics.log.level metrics日志记录级别,默认info
19.metric.reporters 类的列表,用于衡量指标,默认空list
20.max.in.flight.requests.per.connection 可以在一个connection中发送多个请求,叫作一个flight,这样可以减少开销,但是如果产生错误,可能会造成数据的发送顺序改变,默认5
21.retries 消息发送失败重试次数,默认0
22.key.serializer key的序列化方式
23.value.serializer value序列化类方式
24.connections.max.idle.ms 设置多久之后关闭空闲连接,默认540000ms
25.partitioner.class 分区类,实现Partitioner接口,可以自定义分区规则
26.request.timeout.ms 客户端将等待请求的响应的最大时间,如果在这个时间内没有收到响应,客户端将重发请求,超过重试次数将抛异常,默认30000ms
27.interceptor.classes 拦截器类,实现ProducerInterceptor接口,自定义拦截器
28.enable.idempotence true为开启幂等性
29.transaction.timeout.ms 事务超时时间,默认60000ms
30.transactional.id 设置事务id,必须唯一
二、消费者配置参数释义
1.group.id 消费者所属消费组的唯一标识
2.max.poll.records 一次拉取请求的最大消息数,默认500条
3.max.poll.interval.ms 指定拉取消息线程最长空闲时间,默认300000ms
4.session.timeout.ms 检测消费者是否失效的超时时间,默认10000ms
5.heartbeat.interval.ms 消费者心跳时间,默认3000ms
6.bootstrap.servers 连接集群broker地址
7.enable.auto.commit 是否开启自动提交消费位移的功能,默认true
8.auto.commit.interval.ms 自动提交消费位移的时间间隔,默认5000ms
9.partition.assignment.strategy 消费者的分区配置策略, 默认 RangeAssignor
10.auto.offset.reset 如果分区没有初始偏移量,或者当前偏移量服务器上不存在时,将使用的偏移量设置,earliest从头开始消费,latest从最近的开始消费,none抛出异常
11.fetch.min.bytes 消费者客户端一次请求从Kafka拉取消息的最小数据量,如果Kafka返回的数据量小于该值,会一直等待,直到满足这个配置大小,默认1b
12.fetch.max.bytes 消费者客户端一次请求从Kafka拉取消息的最大数据量,默认50MB
13.fetch.max.wait.ms 从Kafka拉取消息时,在不满足fetch.min.bytes条件时,等待的最大时间,默认500ms
14.metadata.max.age.ms 强制刷新元数据时间,毫秒,默认300000,5分钟
15.max.partition.fetch.bytes 设置从每个分区里返回给消费者的最大数据量,区别于fetch.max.bytes,默认1MB
16.send.buffer.bytes Socket发送缓冲区大小,默认128kb,-1将使用操作系统的设置
17.receive.buffer.bytes Socket发送缓冲区大小,默认64kb,-1将使用操作系统的设置
18.client.id 消费者客户端的id
19.reconnect.backoff.ms 连接失败后,尝试连接Kafka的时间间隔,默认50ms
20.reconnect.backoff.max.ms 尝试连接到Kafka,生产者客户端等待的最大时间,默认1000ms
21.retry.backoff.ms 消息发送失败重试时间间隔,默认100ms
22.metrics.sample.window.ms 样本计算时间窗口,默认30000ms
23.metrics.num.samples 用于维护metrics的样本数量,默认2
24.metrics.log.level metrics日志记录级别,默认info
25.metric.reporters 类的列表,用于衡量指标,默认空list
26.check.crcs 自动检查CRC32记录的消耗
27.key.deserializer key反序列化方式
28.value.deserializer value反序列化方式
29.connections.max.idle.ms 设置多久之后关闭空闲连接,默认540000ms
30.request.timeout.ms 客户端将等待请求的响应的最大时间,如果在这个时间内没有收到响应,客户端将重发请求,超过重试次数将抛异常,默认30000ms
31.default.api.timeout.ms 设置消费者api超时时间,默认60000ms
32.interceptor.classes 自定义拦截器
33.exclude.internal.topics 内部的主题:一consumer_offsets 和一transaction_state。该参数用来指定 Kafka 中的内部主题是否可以向消费者公开,默认值为 true。如果设置为 true,那么只能使用 subscribe(Collection)的方式而不能使用 subscribe(Pattern)的方式来订阅内部主题,设置为 false 则没有这个限制。
34.isolation.level 用来配置消费者的事务隔离级别。如果设置为“read committed”,那么消费者就会忽略事务未提交的消息,即只能消 费到 LSO (LastStableOffset)的位置,默认情况下为 “read_uncommitted”,即可以消 费到 HW (High Watermark)处的位置