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í).
nj. ale jeden oddíl tak nějak neškáluje na straně producentů a konzumentů, v podstatě tím zabiješ hlavní výhodu kafky a to je levné škálování.
To ano, ale to naštěstí je řešitelné a je to spíše varování pro to, jak máš dělat konzumaci dat z kafky.
Mě daleko víc trápí to, že příliš logiky je na klientech a musíš je mít pod kontrolou a vytvořit nějakou bránu, která nad tím dělá fasádu, třeba tady zmíněný faust.