kafka servers
spring.kafka.bootstrap-servers=xx.xx.xx.xx:9092,xx.xxx.xx.xx:9092
client-id
spring.kafka.client-id=xxxx
生产者参数
acks=0 : 生产者在成功写入消息之前不会等待任何来自服务器的响应 acks=1 : 只要集群的首领节点收到消息,生产者就会收到一个来自服务器成功响应 acks=all :只有当所有参与复制的节点全部收到消息时,生产者才会收到一个来自服务器的成功响应
spring.kafka.producer.batch-size=16384
当有多个消息需要被发送到同一个分区时,生产者会把它们放在同一个批次里。该参数指定了一个批次可以使用的内存大小,单位字节数
spring.kafka.producer.retries=3
发生错误后,消息重发的次数
spring.kafka.producer.buffer-memory=33554432
生产者内存缓冲区的大小
序列化
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
消费者参数
spring.kafka.consumer.auto-commit-interval=1000
自动提交的时间间隔
spring.kafka.consumer.auto-offset-reset=latest
offset的消费位置
spring.kafka.consumer.enable-auto-commit=false
是否自动提交
spring.kafka.consumer.max.poll.interval.ms=600000
最大拉取间隔时间
spring.kafka.consumer.session.timeout.ms=10000
回话超时时间
序列化
spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer
消费组
spring.kafka.consumer.groupId=dmsdecision
最大拉取条数
spring.kafka.consumer.max-poll-records=30
心跳时间
spring.kafka.consumer.heartbeat-interval=3000
监听线程数未设置时,该参数生效
spring.kafka.properties.parsefileContainerFactory_concurrency
spring.kafka.listener.concurrency=30
提交
-
MANUAL 当每一批poll()的数据被消费者监听器(ListenerConsumer)处理之后, 手动调用Acknowledgment.acknowledge()后提交
-
MANUAL_IMMEDIATE 手动调用Acknowledgment.acknowledge()后立即提交
-
RECORD 当每一条记录被消费者监听器(ListenerConsumer)处理之后提交
-
BATCH 当每一批poll()的数据被消费者监听器(ListenerConsumer)处理之后提交
-
TIME 当每一批poll()的数据被消费者监听器(ListenerConsumer)处理之后,距离上次提交时间大于TIME时提交
-
COUNT 当每一批poll()的数据被消费者监听器(ListenerConsumer)处理之后,被处理record数量大于等于COUNT时提交
-
COUNT_TIME TIME或COUNT 有一个条件满足时提交
ack_mode为COUNT/COUNT_TIME
-
spring.kafka.listener.ack-mode=manual_immediate
-
spring.kafka.listener.ack-count=
-
spring.kafka.listener.ack-time=
-
spring.kafka.listener.poll-timeout=