dawdler-kafka-core
模块介绍
提供kafka消费者和生产者支持.
1. pom中引入依赖
<groupId>club.dawdler</groupId>
<artifactId>dawdler-kafka-core</artifactId>
2. properties文件说明
# Kafka服务器地址,支持多个用逗号分隔
bootstrap.servers=localhost:9092
# 消费者组ID
group.id=your-group-id
# 是否自动提交偏移量
enable.auto.commit=true
# 自动提交偏移量的间隔时间(单位毫秒)
auto.commit.interval.ms=1000
# 会话超时时间(单位毫秒)
session.timeout.ms=10000
# 心跳间隔时间(单位毫秒)
heartbeat.interval.ms=3000
# 每次poll的最大记录数
max.poll.records=500
# 消费者每次获取数据的最大字节数
fetch.max.bytes=52428800
# 消费者每个分区一次返回的最大字节数
max.partition.fetch.bytes=10485760
# 消费者key反序列化器
key.deserializer=org.apache.kafka.common.serialization.StringDeserializer
# 消费者value反序列化器
value.deserializer=org.apache.kafka.common.serialization.ByteArrayDeserializer
# 消费者offset重置策略 (可选: earliest, latest, none) 优先级低于注解配置 默认值为earliest
auto.offset.reset=earliest
# 生产者ack机制
acks=all
# 生产者重试次数
retries=3
# 生产者批量发送大小
batch.size=16384
# 生产者延迟发送时间(单位毫秒)
linger.ms=1
# 生产者缓冲区大小
buffer.memory=33554432
# 生产者key序列化器
key.serializer=org.apache.kafka.common.serialization.StringSerializer
# 生产者value序列化器
value.serializer=org.apache.kafka.common.serialization.ByteArraySerializer
# 安全协议 (可选)
security.protocol=SASL_PLAINTEXT # 或 SASL_SSL
# SASL 机制 (可选)
sasl.mechanism=PLAIN # 或 GSSAPI, SCRAM-SHA-256, SCRAM-SHA-512
# JAAS 配置 (可选)
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="your-username" password="your-password";
# Kerberos 服务名称 (当使用 GSSAPI 时)
sasl.kerberos.service.name=kafka
# Kerberos kinit命令 (可选,当使用 GSSAPI 时)
sasl.kerberos.kinit.cmd=/usr/bin/kinit
# Kerberos 票据续期窗口因子 (可选,当使用 GSSAPI 时)
sasl.kerberos.ticket.renew.window.factor=0.8
# Kerberos 票据续期抖动 (可选,当使用 GSSAPI 时)
sasl.kerberos.ticket.renew.jitter=0.05
# Kerberos 最小重新登录时间 (毫秒) (可选,当使用 GSSAPI 时)
sasl.kerberos.min.time.before.relogin=60000
# Kerberos keytab文件路径 (可选,当使用 GSSAPI 时,支持classpath路径)
# keytab文件会被自动复制到临时文件,临时文件路径会自动追加到JAAS配置中
kerberos.keytab=/etc/kafka/kafka.keytab
# Kerberos principal (可选,当使用 GSSAPI 时)
kerberos.principal=kafka/client@REALM.COM
# Kerberos krb5.conf文件路径 (JVM系统属性,可选,当使用 GSSAPI 时)
# 支持 classpath 路径(如:krb5.conf)或绝对文件系统路径(如:/etc/krb5.conf)
# 如果是 classpath 路径,文件会被自动复制到临时文件
kerberos.krb5.conf=/etc/krb5.conf