Vlákno názorů k článku JetStream: nová technologie brokeru NATS konkurující Kafce od atarist - Jak je to s resiliencí NATSu v porovnání...

  • Článek je starý, nové názory již nelze přidávat.
  • 22. 9. 2022 18:12

    atarist

    Jak je to s resiliencí NATSu v porovnání s Kafkou? Kafka je po těch letech už hodně odladěná věc, ale zrovna ten JetStream bych se možná ještě bál nasadit - ať si to na produkci odladí někdo jinej :-)

    Ale nějaký benchmarky si možná u nás uděláme, protože Kafka trošku zlobí ve chvíli, kdy se povolí objemné zprávy. Sice se tváří, že mají no-copy strategii (tedy že bytový blok zprávy nikdy nekopírují), ale ten systém to už zatěžuje

  • 22. 9. 2022 20:18

    Pavel Tišnovský
    Zlatý podporovatel

    NATS jako takový na produkci klidně dejte, to je ověřené řešení (jen není dobré ukládat fronty na NFS, mají tam nějakou botu, která se semtam projeví - ne často, ale určitě to nepojede 356 dní v roce bez chyby*).

    JetStream je dost nová věc, s tím bych osobně počkal, až to odladí. Obecně je NATS jedno z nejlepších OS co se týče stability a tak, ale skutečně je zrovna toto nová technologie, takže jestli vás netrápí paměť, tak "postačí" Kafka (až na ten problém s dlouhými zprávami - to je takovej trik, aby Kafka vypadala rychlejší :D).

    * ale prostě v tomto kontextu je NFS stejně ...ehm... blbost

  • 23. 9. 2022 8:53

    Uncaught ReferenceError:

    NATS na produkci používáme, dokonce v kritické infrastruktuře a je to spolehlivé, resp. musíš se o to starat, ale bugy se neobjevují.

    JetStream je novinka, to dej jen do labu, na produkci to bude potřebovat mnohem víc dozoru.

    Kafka velké zprávy neumí, má to vše v heapě, je tam vysoká fragmentace v paměti i na disku, je to by design. Velká data přes kafku posíláme jako referenci na uložiště (s3, ceph). Brokera chci mít co nejefektivnější a ho zatěžovat velkou spoustu zbytečných dat.

  • 23. 9. 2022 8:59

    atarist

    Jak moc se o to musíte starat? nějaký 1-2 denne se kouknu na Grafanu nebo na alerty a jdu na kafe? Nebo je to co týden, to výpadek?

    Jinak my tak Kafku taky používáme. V podstatě zprávy/eventy obsahují identifikaci objektu v S3, asi přesně jako vy. Má to nevýhodu - je tam další komponenta, která nemusí fungovat. Jako S3 je stabilní a všechno, to zase jo, ale udělat developerskej setup chvíli trvá (+ nějaký ty výpadky DNS, to je klasika, + peníze, ale to není z mého účtu :). Pokud by něco (třeba JetStream) byl prostě jedinej zdroj dat (i když bychom ho museli naškálovat), možná by to bylo zajímavější řešení.

    23. 9. 2022, 09:03 editováno autorem komentáře

  • 23. 9. 2022 14:06

    Uncaught ReferenceError:

    hodně záleží jaký máš provoz, ono to je podobný i s jinou databází. Dokud máš provoz konstatní, uživatelé s tím umí, server má dostatek místa a výkonu, nevíš o tom asi klidně roky.

    Jakmile ale uživatelé začnou s tím různě experimentovat, bezhlavě to DoSovat, začne ti docházet disk, občas i paměť, řešíš více socketový server a pinning na jádra, řešíš FC disky a failover, musíš na to koukat aspoň denně, řešit podporu uživatelů, vysvětlovat, sledovat.

    Rozhodně s tím je méně starostí než s Kafkou, která moc provoz neřeší a ráda padá, když se jí něco nelíbí.

    Jsem v prostředí, kde je běžný, že nějaký block/file storage je k dispozici, v cloudu to je naprosto všude, problémy s DNS snad v mém světě neexistují. Na kafku máme upraveného klienta (producer i consumer), kdy při větším souboru ho sám nahraje na uložiště a umístí odkaz, při čtení se to transparentně zase čte. Nemám s tím problémy, všechny části máme ale pod správou.

    Jediný zdroj dat, to může být i nevýhoda, slabé místo, budeš od toho čekat příliš moc funkcí a to může mít vliv na spolehlivost a stabilitu provozu.

  • 23. 9. 2022 14:49

    atarist

    Dik za info!

    Ad to DNS - tyjo to je u nás několikrát do roka. Fakt netuším, co s tím dělají, ale vždy do dvou-tří měsíců se DNS rozsype. Dají to dohromady rychle, to zase jo, ale spousta služeb to nerozchodí a musí se restartnout. Takže výpadek jedné, dvou serveroven po světě, je třeba i pár hodin...