Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Apache Kafka — distribuovaná streamovací platforma

01. 01. 2024 1 min čtení intermediate

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.

apache kafkastreamingevent-drivenmessaging