概述
Kafka客户端开发中有一个ProducerConfig和ConsumerConfig,熟悉这两个文件内容的含义对我们(尤其是新手)使用,调优Kafka是非常有帮助的。Ctrl+F搜索吧。
生产者配置参数释义
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
消费者的分区配置策略
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.internal.leave.group.on.close
35.isolation.level
用来配置消费者的事务隔离级别。如果设置为“read committed”,那么消费者就会忽略事务未提交的消息,即只能消费到 LSO (LastStableOffset)的位置,默认情况下为 “read_uncommitted”,即可以消 费到 HW (High Watermark)处的位置
其他Kafka文章:
微服务同时接入多个Kafka
最后
以上就是迅速金毛为你收集整理的Apache Kafka 生产者配置和消费者配置中文释义生产者配置参数释义消费者配置参数释义的全部内容,希望文章能够帮你解决Apache Kafka 生产者配置和消费者配置中文释义生产者配置参数释义消费者配置参数释义所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复