ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

spring boot kafak 配置

2020-03-26 16:03:24  阅读:207  来源: 互联网

标签:producer 生产者 spring boot 偏移量 kafka kafak consumer


spring boot kafak 自动配置类为 org.springframework.boot.autoconfigure.kafka.KafkaProperties

@ConfigurationProperties(prefix = "spring.kafka")
public class KafkaProperties {
}

1:spring.kafka.bootstrap-servers 配置kafak的broker地址,格式为 host:port,可以配置多个,用“,”隔开;

2:spring.kafka.client-id 发出请求时传递给服务器的ID,用于服务器端日志记录;

 

消费者配置:

3:spring.kafka.consumer.bootstrap-servers   配置kafak customer 的broker地址,格式为 host:port,可以配置多个,用“,”隔开;优先级比spring.kafka.bootstrap-servers高,当不设置时,使用spring.kafka.bootstrap-servers的值;

4:spring.kafka.consumer.client-id  发出请求时传递给服务器的ID,用于服务器端日志记录,不设置时,系统会自动生成;

5:spring.kafka.consumer.group-id  设置当前消费者所在组的名称;

6:spring.kafka.consumer.enable-auto-commit  消费者的消费记录offset是否后台自动提交;

7:spring.kafka.consumer.auto-commit-interval  当消费者的消费记录offset是否后台自动提交时,多长时间自动提交一次;

8:spring.kafka.consumer.auto-offset-reset  当Kafka中没有初始偏移量或服务器上不再存在当前偏移量时该怎么办,

  earliest:自动将偏移量重置为最早的偏移量;

  latest:自动将偏移量重置为最迟的偏移量;

  none:如果未找到消费者组的先前偏移量,则将异常抛出给消费者;

  exception:向消费者抛出异常;

9:spring.kafka.consumer.max-poll-records  一次调用poll()返回的最大记录数,默认是500;

10:spring.kafka.consumer.fetch-max-wait  当没有足够的数据(数据的大小不小于 fetch.min.bytes)返回给客户端时,服务器最大阻塞时间;

11:spring.kafka.consumer.fetch-min-size  服务器应为获取请求返回的最小数据量(以字节为单位)

12:spring.kafka.consumer.heartbeat-interval    消费者协调员之间心跳的预期时间(单位是毫秒)

13:spring.kafka.consumer.key-deserializer   消费者所有keys的序列化类,默认是 org.apache.kafka.common.serialization.StringDeserializer

14:spring.kafka.consumer.value-deserializer   消费者所有values的序列化类,默认是 org.apache.kafka.common.serialization.StringDeserializer 

15:spring.kafka.consumer.properties    消费者其他属性配置,类型 java.util.Map<java.lang.String,java.lang.String>;

 

生产者配置:

1:spring.kafka.producer.bootstrap-servers   配置kafak produce的broker地址,格式为 host:port,可以配置多个,用“,”隔开;优先级比spring.kafka.bootstrap-servers高,当不设置时,使用spring.kafka.bootstrap-servers的值;

2:spring.kafka.producer.client-id   发出请求时传递给服务器的ID,用于服务器端日志记录,不设置时,系统会自动生成;

3:spring.kafka.producer.acks  生产者要求数据有多少个副本接收到数据才算发送成功,类型是java.lang.String,

  “0” :表示生产者数据发送到leader就算写入成功,但是如果leader在把数据写到本地磁盘时报错,就会数据丢失,akcs设置为0时,kafka可以达到最大的吞吐量;

  “1":表示生产者数据发送到leader并写入到磁盘才算写入成功,但是如果数据在同步到其他副本时,leader挂了,其他副本被选举为新leader,那么就会有数据丢失;

  “-1”, “all“:表示生产者把数据发送到leader,并同步到其他副本,才算数据写入成功,这种模式一般不会产生数据丢失,但是kafka的吞吐量会很低;

4:spring.kafka.producer.batch-size   默认批处理大小(以字节为单位)。 小批量将使分批变得不那么普遍,并且可能会降低吞吐量(零批量将完全禁用批处理)。

5:spring.kafka.producer.buffer-memory   生产者可以用来缓冲等待发送到服务器的记录的内存总字节数。

6:spring.kafka.producer.compression-type   生产者生成的所有数据的压缩类型

7:spring.kafka.producer.key-deserializer   生产者所有keys的序列化类,默认是 org.apache.kafka.common.serialization.StringDeserializer

8:spring.kafka.producer.value-deserializer   生产者所有values的序列化类,默认是 org.apache.kafka.common.serialization.StringDeserializer 

9:spring.kafka.producer.retries   当数据发送失败时,可以重试发送的次数

10:spring.kafka.producer.transaction-id-prefix   不为空时,为生产者启用事务支持

11:spring.kafka.producer.properties   生产者其他属性配置,类型 java.util.Map<java.lang.String,java.lang.String>;

 

标签:producer,生产者,spring,boot,偏移量,kafka,kafak,consumer
来源: https://www.cnblogs.com/super-jing/p/12531939.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有