Sobes.tech
Senior

Mi történik, ha az egyik szolgáltatás nem elérhető az adatszolgáltatás során (például a teljes név/adatok szolgáltatása)? Megáll az egész Kafka?

sobes.tech MI

Válasz az MI-től

Adatok gazdagítása során, például ha egy szolgáltatás, például a teljes név vagy a felhasználói adatok szolgáltatása nem elérhető, ez nem okozza az egész Kafka leállását. A Kafka, mint üzenetcsere rendszer, folytatja a működését, mivel el van különítve az adatok feldolgozási és gazdagítási logikától.

A gyakorlatban történik:

  • A fogyasztó, aki üzeneteket olvas a Kafkából és hívja a gazdagítási szolgáltatást, hibát vagy timeout-ot kaphat, amikor elérhetetlen szolgáltatáshoz próbál hozzáférni.
  • Az implementációtól függően, a fogyasztó:
    • Naplózhatja a hibát és kihagyhatja a gazdagítást az adott üzenethez,
    • Újrapróbálkozhat exponenciális késleltetéssel,
    • Az üzenetet a DLQ-be (Dead Letter Queue) küldheti későbbi elemzés céljából,
    • Megállíthatja az üzenetek feldolgozását, ha ez kritikus.

Így egy szolgáltatás hibája nem állítja le a Kafkát, de befolyásolhatja az üzenetek feldolgozását egy adott fogyasztónál. A rendszer tartóssága érdekében javasolt hibakezelést és timeout-okat implementálni, valamint olyan tartóssági mintákat alkalmazni, mint például a Circuit Breaker.