Vítejte v Kafkalandu!

(Bartha Bela Tibor) (19. června 2020)

Úvod

Pokud jste někdy pracovali s platformami pro řazení zpráv nebo streamování, Kafka je ten, který byste měli zkontrolovat. Nejlepší použití je pro streamování dat v reálném čase.

Pokud uvažujete o aplikaci Kafka pro svou aplikaci, je nejlepší použít Kafka pro následující případy použití:

  • Pub / Dílčí zprávy
  • Zpracování streamu
  • Ukládání dat

Předtím, než se dotknete Kafky, měli byste vědět následující: Kafka rychle plane, máte obrovskou svobodu a je snadné se s ní pokazit, když přicházíte z jiné platformy pro řazení zpráv.

V tomto článku se zaměříme na to, abyste s Kafkou dělali věci správně.

Klíč Koncepty:

  • zpráva : datová jednotka
  • téma : datový kanál
  • partition : topic can have more partitions
  • offset : position of a message in a partition
  • producer : umožňuje aplikaci publikovat data k danému tématu
  • spotřebitel : aplikace může využívat data z jednoho nebo více témat. Jedno téma může mít více spotřebitelů. Spotřebitelé se mohou přihlásit k odběru libovolného počtu oddílů tématu.
  • skupiny spotřebitelů : spotřebitele lze uspořádat do skupin spotřebitelů, které čtou z tématu, paralelně při čtení z různých oddíly
  • broker : spravuje ukládání témat
  • cluster : více makléřů, které obsahují několik makléřů
  • vedoucí / replika : každý zprostředkovatel obsahuje řadu oddílů tématu, přičemž každý z nich může být vedoucí nebo replika. Všechny zápisy a čtení tématu se provádějí na odkazové lince, která koordinuje aktualizaci replik. Pokud vůdce selže, role vůdce převezme replika

Další informace o základech Kafky najdete zde .

Základy s Node.js

Pro toto úvodní použití použijeme Node.js a vytvoříme základního producenta a spotřebitele.

Nejprve budete Kafku instalovat lokálně, jak je popsáno zde .

Tento článek předpokládá, že máme pouze jednoho makléře.

Témata budou vytvořena před spuštěním naší aplikace, viz níže.

V okamžiku psaní tohoto úvodu jsou v NodeJS k dispozici 3 stabilní balíčky:

  1. Node-rdkafka
  2. KafkaJS
  3. Kafka-node

Všechny tyto práce fungují podobným způsobem, pro úvod použijeme node-rdkafka ( npm install node-rdkafka )

Za předpokladu, že jste Kafku nainstalovali lokálně s výchozím nastavením a spustili jednoho brokera, můžeme vytvořit jednoduchého producenta a spotřebitele.

Vytvořit téma ručně:

Vytvořit producenta a vytvořit událost:

Vytvořte události spotřebitele:

Toto je příklad pro plynulého spotřebitele. Spotřebuje události tak, jak se objevují v daném tématu. Další možností je použít neplynoucího spotřebitele zadáním počtu událostí, které se mají spotřebovat, jako parametr consumer.consume (number). V tomto případě dostaneme zprávy poté, co v tématu bude počet nespotřebovaných zpráv.

Potvrdí

Protože Kafka byla navržena pro bezpečnost při poruše, mohou zákazníci zprávy označit jako spotřebované – spácháno . Ve výchozím nastavení node-rdkafka provádí automatické odevzdání , ale také to lze provést ručně: consumer.commit () nebo consumer.commitMessage (zpráva) .

V případě odpojení spotřebitele může od potvrzené zprávy pokračovat další spotřebitel.

Vítejte v Kafkalandu! Užijte si to!

Toto je první ze série čtyř článků. Naváže na konkrétní případy použití Kafky pro: mikroslužby, chatboty a fintech projekty. Hurá!

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *