搭建过程:
配置:
```properties # Kafka配置 spring.kafka.bootstrap-servers=localhost:9092 spring.kafka.consumer.group-id=my-group spring.kafka.consumer.auto-offset-reset=earliest spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
1.auto-offset-reset
在Kafka中,auto-offset-reset是一个重要的配置参数,它用于指定当消费者订阅一个主题时,如果没有可用的偏移量(offset)或偏移量无效时,应该采取什么行动。
具体来说,auto-offset-reset有三个可选值:
1. earliest:表示消费者将从最早的可用偏移量开始消费消息。如果消费者组之前没有消费过该主题,则从最早的消息开始消费;如果消费者组之前已经消费过该主题,则从上一次消费的最后一个偏移量开始消费。
2. latest:表示消费者将从最新的可用偏移量开始消费消息。如果消费者组之前没有消费过该主题,则从最新的消息开始消费;如果消费者组之前已经消费过该主题,则从上一次消费的最后一个偏移量开始消费。
3. none:表示如果没有可用的偏移量,则抛出异常。这种情况下,消费者必须手动指定偏移量。
auto-offset-reset的作用是确保消费者能够正确地从指定的偏移量开始消费消息,从而避免数据丢失或重复消费的问题。在实际应用中,根据具体的业务需求和数据处理逻辑,选择合适的auto-offset-reset值非常重要。