Co je Kafka?

Toto asynchronní rozhraní API je implementováno pomocí protokolu Apache Kafka. Jedná se o platformu událostí typu publikování-odebírání, která je navržená tak, aby byla odolná vůči poruchám, a která poskytuje platformu s vysokou propustností a nízkou latencí pro zpracování datových kanálů v reálném čase.

Kafka běží jako klastr jednoho nebo více serverů (zprostředkovatelé Kafka). Zatížení je v rámci klastru vyváženo rozdělením mezi servery.

Klíčové koncepty

Téma

Proud zpráv je uložen v kategoriích, které se nazývají témata. Témata jsou v dokumentu AsyncAPI reprezentována jako kanály. Každé téma se skládá z jedné nebo více oblastí. Každá oblast je uspořádaný seznam zpráv. Zprávy v oblasti mají monotónně rostoucí číslo, které se nazývá offset.

Zpráva/záznam

Jednotka dat v rozhraní Kafka skládající se ze dvou částí: záhlaví a hodnoty. Záhlaví se běžně používají pro data o zprávě a hodnota je tělo zprávy.

Producent

Proces, který publikuje proudy zpráv do témat Kafka. Producent může publikovat do jednoho nebo více témat a může volitelně vybrat oblast, ve které jsou uložena data.

Spotřebitel

Proces, který spotřebovává zprávy z témat Kafka a zpracovává kanál zpráv. Spotřebitel může spotřebovávat zprávy z jednoho nebo více témat nebo oblastí.

Skupina spotřebitelů

Pojmenovaná skupina jednoho nebo více spotřebitelů, kteří společně spotřebovávají zprávy ze sady témat. Každý spotřebitel ve skupině čte zprávy ze specifických oblastí, ke kterým je přiřazen. Každá oblast je přiřazena pouze k jednomu spotřebiteli ve skupině. Přiřazení je řízeno vlastnostmi spotřebitele ‚client.id‘ a ‚group.id‘.

Spotřeba událostí z tohoto rozhraní API

K připojení a odběru budete potřebovat klienta Kafka. Knihovny klienta Kafka jsou k dispozici pro různé programovací jazyky a ukázkový kód každého kanálu je počátečním bodem použití klienta Java Kafka ke spotřebování událostí pomocí spotřebitele Kafka.