È saggio usare kafka come "fonte di verità" per i dati mission critical?
L'installazione è:
- kafka è la fonte di verità soggiacente per i dati. -querying è fatto su cache (Ie Redis, ktables) idratato da kafka
- Kafka configurato per durabilità (conservazione di argomenti infinita, fattore di replica 3+, ecc.)
- l'architettura segue il modello CQRS (scrive su kafka, legge dalla cache) L'architettura
- consente un'eventuale coerenza tra le letture e l'amp; scrive
Non siamo autorizzati a perdere dati in nessuna circostanza
In teoria la replica dovrebbe garantire durata e amp; resilienza. I confluenti stessi incoraggiano lo schema sopra.
Gli unici difetti che riesco a pensare sono:
-
La cache
- esplode e deve essere reidratata da zero - > interrogazione
- Il disco del broker viene cancellato / danneggiato - > riequilibrio kafka, con conseguente downtime prolungato se gli argomenti contengono montagne di dati
Qualcuno ha corso e testato questo tipo di setup in produzione? Cioè riscontrato danneggiamento del disco, i broker si stanno riducendo, ma conservano ancora i dati?
Il mio istinto è, questa è una configurazione sbagliata, perché kafka non era originariamente progettato per i livelli di durabilità RMDBS, ma non può indicare un motivo concreto per cui questo sarebbe il caso.