Wymagania: Po uruchomieniu aplikacji spring boot z bazy danych lub pamięci podręcznej zostaną odczytane informacje konfiguracyjne, a Kafka zostanie użyta do subskrypcji zmian w konfiguracji. Ponieważ aplikacja zaczyna się od najnowszych informacji konfiguracyjnych, komunikaty o historycznych aktualizacjach konfiguracji Kafki będą bez znaczenia, a jeśli używasz wiadomości historycznych, pojawią się problemy.
Po ponownym uruchomieniu aplikacji Spring Boot pojawia się pytanie, jak usunąć stare dane dotyczące danego tematuWiadomości Kafki dotyczące historii tego tematu nie są odbieraneTen? W rzeczywistości problem ten można rozwiązać, ustawiając początkowy offset, który pozwala subskrybentowi ustawić offset tematu na ostatnią pozycję przed subskrypcją wiadomości.
Nawet jeśli spring.kafka.consumer.auto-offset-reset jest ustawione na najnowszy, konsument odczyta wiadomość z bitu flagi, w którym ostatnio potwierdzono otrzymanie wiadomości, co spowoduje, że po ponownym uruchomieniu zostanie odczytany znaczna liczba komunikatów, jeśli producent wyśle dużą liczbę wiadomości po zamknięciu aplikacji.
Konsument szuka określonego przesunięcia podczas inicjalizacji, używając następującego kodu:
(Koniec)
|