Table of Contents

Apache Kafka

Streamovací platforma, vlastni protokol, binarni. Kafka cluster muze sestavat z nekolika clusteru

Odkazy

https://medium.com/@cobch7/what-is-kafka-9cc8591d2063 - Seriál na Medum popisující podrobně Kafku
https://anishmahapatra.medium.com/apache-kafka-102-how-to-set-up-kafka-on-your-local-68f432dfb1ab … Tutoriál na neautentifikovanou Kafku
https://developer.ibm.com/tutorials/kafka-authn-authz/ - Konfigurace autentifikované služby Kafka

Architektura

*Kafka cluster* je tvořen skupinou nodu = *brokeru*, 0,1, .., n, t.j. serverů=instancí a službou *Zookeeper*, který registruje, odregistruje brokery, vybírá leadera, ukládá konfiguraci topiců
Topic … objekt podobný kanálu, nebo frontě, obsahuje 1, či více *partition* (indexy 0, …, n), do kterých ukládá zprávy. Pořadí konzumace se zachovává v rámci partition, ovšem mezi partition se pořadí nezachovává. Zprávy se steným klíčem se ukládáji do stejné partition. Topic má své consumers a producers
Broker … instance Kafka clusteru
Partition … Oddíl topicu, který je replikován na vice brokerů. Replika = ISR (in-sync replica)
Consumer - aplikace, která odebírá zprávy - instance
Consumer group - Skupina Consumeru - Může obsahovat 1 a více consumerů. Každý consumer může odebírat z 1 partition, pokud se nastaví concurency, tak i z více partition. 1 partition může být konzumována pouze 1 consumerem
Producer - umí ukládat zprávy do topicu a do partition. Zpráva je pak neměnná. Přiřadí se jí pořadové číslo v partition. Jak na ní ukáže ofset, tak bude k přečtení