Senior
Wat gebeurt er als tijdens het verrijken een van de services niet beschikbaar is (bijvoorbeeld de service met volledige naam/gegevens van de gebruiker)? Stopt Kafka helemaal?
sobes.tech AI
Antwoord van AI
Als bij het verrijken van gegevens een van de services, bijvoorbeeld de service met volledige naam of gebruikersgegevens, niet beschikbaar is, leidt dit niet tot het stoppen van Kafka. Kafka als berichtenuitwisselingssysteem blijft werken, omdat het gescheiden is van de logica voor gegevensverwerking en verrijking.
Wat er in de praktijk gebeurt:
- De consument, die berichten uit Kafka leest en de verrijkingsservice aanroept, kan een fout of timeout krijgen bij het benaderen van een niet-beschikbare service.
- Afhankelijk van de implementatie kan de consument:
- De fout loggen en de verrijking voor dat bericht overslaan,
- Pogingen herhalen met een exponentiële vertraging,
- Het bericht naar DLQ (Dead Letter Queue) sturen voor latere analyse,
- De verwerking van berichten pauzeren als dit kritisch is.
Op deze manier stopt een storing in één service Kafka niet, maar kan het de verwerking van berichten in een specifieke consument beïnvloeden. Voor systeemrobustheid wordt aanbevolen om fout- en timeout-beheer te implementeren en patronen zoals Circuit Breaker te gebruiken.