Broker
delete.topic.enable=true #允许删除topic
num.replica.fetchers=2 # kakfa的线程数量配置
offsets.topic.replication.factor=2 # offset的副本,防止丢失
num.partitions=8 # 分区数量
auto.create.topics.enable=true # 开启自动提交
default.replication.factor=2 # 默认副本数量
log.retention.hours=48 # 日志保留2天
min.insync.replicas=2 # 最少同步副本
Producer 在Spring boot中的配置
spring:
kafka:
bootstrap-servers: 192.168.31.31:9092
producer:
# 重试次数
retries: 0
# 应答级别:多少个分区副本备份完成时向生产者发送ack确认(可选0、1、all/-1)
# 这里使用0 是折中的考虑
acks: "0"
# 批量大小
batch-size: 16384
properties:
# 开启幂等性, 后ack 为all, 这个性能会降低.,
enable.idempotence: false
linger.ms: 50
partitioner.class: org.apache.kafka.clients.producer.RoundRobinPartitioner
buffer-memory: 33554432
key-serializer: "org.apache.kafka.common.serialization.StringSerializer"
value-serializer: "org.apache.kafka.common.serialization.StringSerializer"
# 事务场景开启事务 , 否则会报错
# transaction-id-prefix: "kt"
client-id: ${spring.application.name}