Zum Inhalt springen
_CORE
AI & Agentic Systems Core Information Systems Cloud & Platform Engineering Data Platform & Integration Security & Compliance QA, Testing & Observability IoT, Automation & Robotics Mobile & Digital Banking & Finance Insurance Public Administration Defense & Security Healthcare Energy & Utilities Telco & Media Manufacturing Logistics & E-commerce Retail & Loyalty
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

Apache Kafka — event streaming pro mikroslužby

18. 05. 2016 1 Min. Lesezeit CORE SYSTEMSai
Apache Kafka — event streaming pro mikroslužby

RabbitMQ nám slouží skvěle pro task queues. Ale pro event-driven architekturu — kde chcete, aby událost dostali všichni zájemci a mohli ji replay-ovat — potřebujete jiný model. Apache Kafka je distribuovaný commit log, ne message queue.

Kafka vs. RabbitMQ

RabbitMQ: zpráva je doručena jednomu konzumentu a smazána. Kafka: zpráva je zapsána do logu a uložena (dny, týdny). Každý konzument čte z logu nezávisle. Replay je možný.

Koncepty

Topics: Logické kanály (order-events, user-events). Partitions: Horizontální škálování — topic rozdělen na partitions. Consumer groups: Konzumenti ve skupině sdílejí partitions. Offsets: Každý konzument si pamatuje, kde v logu skončil.

// Producer
Properties props = new Properties();
props.put("bootstrap.servers", "kafka:9092");
props.put("key.serializer", StringSerializer.class);
props.put("value.serializer", StringSerializer.class);

Producer<String, String> producer = new KafkaProducer<>(props);
producer.send(new ProducerRecord<>("order-events", orderId, orderJson));

Use cases

  • Event sourcing — ukládání událostí místo stavu
  • Data pipeline — proudění dat mezi systémy
  • Log aggregation — centrální sběr logů
  • Stream processing — real-time transformace dat

Provozní zkušenosti

Kafka vyžaduje ZooKeeper pro koordinaci. Cluster se 3 brokery a replication factor 3 je minimum pro produkci. Operačně náročnější než RabbitMQ, ale propustnost je řádově vyšší.

Kafka pro events, RabbitMQ pro tasks

Kafka není náhrada RabbitMQ — je to jiný nástroj pro jiný problém. Event-driven architektura s Kafkou, task queues s RabbitMQ. Oba v našem stacku.

kafkastreamingeventsmicroservices
Teilen:

CORE SYSTEMS

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.

Brauchen Sie Hilfe bei der Implementierung?

Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.

Kontaktieren Sie uns