faust samotný nevím, nepodařilo se nám ho naučit neztrácet data a nepřeskakovat offsety.
Obecně zpracování streamu přes kafku je vhodná tam, kde nepotřebuji zpracování dělat synchronně a je pro mě důležité mít všechno. Kafka levně věci uloží a pak podle vnitřní kapacity se zpracují. Obsloužíš i špičky, které mohou mít řádově vyšší provoz a zátěž rozložíš v čase.
Kde používáme kafku my? Replikace dat mezi databázemi, zpracování a ukládání logů, zpracování metrik z mobilních aplikací nebo senzorů.
Zároveň chce upozornit, že Kafka není vhodná tam, kde mám nízké SLA na čas zpracování konkrétní zprávy (což pro řízení procesů může být) nebo musím zprávy obsloužit v přesně daném pořadí. Nesmí to prostě vadit mít klidně hodinové latence a předbíhající se zprávy. Stejně tak není vhodná pro doručování zpráv na klientské zařízení (tj. nedělej z toho frontu notifikací).