IT Broker komunikatów

Kafka

Definicja #

Apache Kafka to rozproszony system kolejkowania wiadomości i streamingu danych, stworzony pierwotnie w LinkedIn, a następnie przekazany do Apache Software Foundation w 2011 roku. Dziś rozwijany jest przez społeczność Apache Software Foundation.

Kluczowe koncepty Kafka:

  • Topic — logiczny kanał, do którego producenci wysyłają wiadomości, a konsumenci je odczytują
  • Partition — topic dzielony na partycje dla równoległości i skalowalności
  • Producer/Consumer — aplikacje zapisujące i odczytujące wiadomości
  • Consumer Group — zbiór konsumentów współdzielących przetwarzanie partycji
  • Broker — serwer Kafka przechowujący dane i obsługujący żądania
  • Retention — wiadomości przechowywane przez konfigurowaly czas (np. 7 dni), nie są usuwane po odczytaniu

Kafka wyróżnia się wydajnością (miliony msg/s), trwałością (zapis na dysk) i możliwością odtwarzania historii wiadomości. Kafka Streams i ksqlDB umożliwiają stream processing bezpośrednio na Kafce.

Zastosowania #

  • Event sourcing — Kafka jako log zdarzeń biznesowych (np. zamówienia, transakcje)
  • Integracja mikroserwisów — asynchroniczna komunikacja między serwisami bez ścisłego powiązania
  • Real-time analytics — streaming danych do systemów BI (np. Kafka -> Flink -> ClickHouse)
  • Change Data Capture (CDC) — replikacja zmian z bazy danych do innych systemów przez Debezium
  • Log aggregation — centralizacja logów z wielu serwisów do Elasticsearch lub data lake

Ścieżka nauki #

Przed Kafka warto rozumieć architekturę mikroserwisów, wzorzec producer-consumer i koncepty takie jak kolejki wiadomości (RabbitMQ), event sourcing i eventual consistency.

Na starcie uruchom Kafka z Docker Compose i napisz pierwszy producer/consumer w wybranym języku (Java, Python, .NET). Zrozum topics, partitions, offsets i consumer groups — to fundament.

Następnie poznaj Kafka Connect (integracje z bazami danych i innymi systemami), Kafka Streams do przetwarzania strumieni i Schema Registry dla zarządzania schematami Avro/Protobuf. Zaawansowani zgłębią Kafka MirrorMaker 2 (replikacja klastrów), tuning wydajności i monitoring (JMX, Prometheus). Certyfikat Confluent Certified Developer for Apache Kafka jest ceniony na rynku pracy.

FAQ #

Czym różni się Kafka od RabbitMQ?
Kafka to log zdarzeń z długoterminowym przechowywaniem i odtwarzaniem historii — świetna do event sourcing i dużych wolumenów. RabbitMQ to tradycyjny message broker z bogatym routingiem i potwierdzeniami — lepszy do task queues i RPC. Kafka skaluje się lepiej horyzontalnie przy dużych throughputach.
Ile zarabia Kafka developer w Polsce?
Znajomość Kafka jest najczęściej częścią zestawu umiejętności backend lub data engineera. Developer z doświadczeniem w Kafka zarabia zazwyczaj 18 000-30 000+ zł brutto, w zależności od szerszego stosu technologicznego.
Czy Kafka nadaje się do małych projektów?
Kafka wprowadza znaczny overhead operacyjny — wymaga ZooKeepera lub KRaft, monitoringu i tuningu. Dla małych projektów z niskim wolumenem wiadomości lepiej sprawdzi się RabbitMQ, Redis Pub/Sub lub SQS (AWS). Kafka opłaca się przy dużych wolumenach lub potrzebie odtwarzania historii.
Co to jest Confluent?
Confluent to firma założona przez twórców Kafka, oferująca Confluent Platform — komercyjną dystrybucję Kafka z dodatkowymi narzędziami (Schema Registry, ksqlDB, Control Center) oraz Confluent Cloud — w pełni zarządzaną Kafkę w chmurze.
Ostatnia aktualizacja:

Powiązane hasła

Technologie i biblioteki, które najczęściej pojawiają się razem z Kafka w ogłoszeniach.

Cały słownik IT

Przeglądaj słownik IT alfabetycznie

Wybierz literę, aby zobaczyć wszystkie hasła zaczynające się od niej.