Přeskočit na obsah
Streaming

Apache Kafka — distribuovaná streamovací platforma

12 min čtení
Apache KafkaStreamingEvent-DrivenMessaging

Apache Kafka je standard pro event streaming. Miliony zpráv za sekundu, garantovaná doručitelnost a neomezená škálovatelnost.

Architektura a koncepty

Kafka je distribuovaný commit log — zprávy persistentně ukládá a umožňuje opakované čtení.

Koncepty

  • Topic — logický kanál
  • Partition — fyzické rozdělení pro paralelismus
  • Consumer Group — automatické rozdělení partition
  • Broker — server v clusteru
from confluent_kafka import Producer, Consumer
import json

producer = Producer({'bootstrap.servers': 'kafka:9092'})
producer.produce('orders', key=b'123', value=json.dumps(order).encode())
producer.flush()

consumer = Consumer({
    'bootstrap.servers': 'kafka:9092',
    'group.id': 'processor',
    'auto.offset.reset': 'earliest',
})
consumer.subscribe(['orders'])
while True:
    msg = consumer.poll(1.0)
    if msg: process(json.loads(msg.value()))

Best practices

  • Replication factor 3
  • Idempotentní producent
  • Schema Registry — verzování schémat

Shrnutí

Kafka je základ event-driven architektury. Topics, partitions a consumer groups pro škálovatelné real-time pipeline.

CORE SYSTEMS tým

Enterprise architekti a AI inženýři. Stavíme systémy, které fungují.