Krav: Når spring boot-applikationen startes, vil noget konfigurationsinformation blive læst fra databasen eller cachen, og Kafka vil blive brugt til at abonnere på ændringer i konfigurationsinformationen. Da appen starter med de nyeste konfigurationsoplysninger, vil beskeder om historiske Kafka-konfigurationsopdateringer være meningsløse, og hvis du bruger historiske beskeder, vil du få problemer.
Efter Spring Boot-appen genstarter, opstår der et spørgsmål om, hvordan man kasserer gamle data om et emneKafka-beskeder om emnets historie modtages ikkeDenne? Faktisk kan dette problem løses ved at sætte startforskydningen, som tillader abonnenten at sætte offsetet af emnet til den sidste position, før han abonnerer på beskeden.
Selv hvis spring.kafka.consumer.auto-offset-reset er sat til seneste, vil forbrugeren læse beskeden fra flagbitet, hvor den sidst blev bekræftet at have modtaget beskeden, hvilket vil få forbrugeren til at læse et stort antal beskeder efter genstart, hvis producenten sender et stort antal beskeder, når appen lukkes.
Forbrugeren leder efter en specifik offset under initialiseringen med følgende kode:
(Slut)
|