Kafka je distribuovaná streaming platforma. De-facto standard pro event-driven architektury.
Základní koncepty¶
- Topic — kategorie zpráv
- Partition — horizontální dělení topicu
- Producer — píše zprávy
- Consumer — čte zprávy
- Consumer Group — group of consumers, každý čte jiné partition
- Offset — pozice v partition
- Broker — Kafka server
Příkazy¶
Vytvoření topicu¶
kafka-topics –create –topic orders –partitions 6 –replication-factor 3
Listování¶
kafka-topics –list
Produce¶
kafka-console-producer –topic orders –bootstrap-server localhost:9092
Consume¶
kafka-console-consumer –topic orders –from-beginning –group my-group
Use cases¶
- Event streaming (user events, logs)
- Microservices komunikace
- Change Data Capture (CDC)
- Real-time analytics pipeline
- Log aggregace
Guarantees¶
- At-most-once — může ztratit zprávy
- At-least-once — může duplikovat (default)
- Exactly-once — idempotentní producer + transactional consume
Alternativy¶
- RabbitMQ — jednodušší, message queue (ne streaming)
- NATS — lightweight, cloud-native
- Redpanda — Kafka-kompatibilní, bez JVM
Kdy Kafka¶
Kafka pro high-throughput event streaming. RabbitMQ pro task queues. NATS pro lightweight messaging.
kafkastreamingmessaging