面试题答案
一键面试- bootstrap.servers:指定Kafka集群的地址列表,Spring应用通过此参数连接到Kafka集群,格式为host1:port1,host2:port2等。例如
bootstrap.servers=kafka1.example.com:9092,kafka2.example.com:9092
,用于建立与Kafka集群的初始连接。 - key.serializer 与 value.serializer:分别用于指定消息的键和值的序列化器。在Spring与Kafka集成中,消息发送到Kafka前需进行序列化。常见的如
key.serializer=org.apache.kafka.common.serialization.StringSerializer
和value.serializer=org.apache.kafka.common.serialization.StringSerializer
,如果消息的键或值为自定义对象,需使用自定义的序列化器,以确保消息能正确在网络中传输。 - group.id:消费者组ID,在Spring的Kafka消费者配置中很关键。同一消费者组内的消费者共同消费主题中的分区,每个分区只会被组内一个消费者消费。比如多个消费者都设置
group.id=myGroup
,它们会形成一个消费者组,共同处理主题消息,有助于负载均衡和保证消息不重复消费。 - auto.offset.reset:当消费者的偏移量(offset)无效时(如初次消费或偏移量超出范围),该参数决定如何重置偏移量。常见值有
earliest
(从最早的消息开始消费)、latest
(从最新的消息开始消费,默认值)。在Spring与Kafka集成时,可根据业务需求设置此参数,例如对于实时性要求高且允许错过历史消息的场景,可设置为latest
。