Kafka
Kafka is a distributed event streaming platform, which is capable of scaling to huge amounts of data.
Here’s how it works. Producer applications can create events and send them to a Kafka topic. A topic is just a category or feed name where records are stored and published. These are partitioned and replicated across multiple Kafka brokers to ensure scalability and fault tolerance. These topics are stored in what's called a broker. These brokers store data and can serve the information to various consumers.
A collection of multiple brokers serving traffic is called a cluster. Consumers can then read from your Kafka cluster to get any information they want about the topic. This could be limited to only recent information, or they could read the entire log of information that's been published to that topic. Kafka is widely used for real-time data applications and handling huge workloads.

Kafka, büyük miktarda veriyi gerçek zamanlı olarak işleyebilen, oldukça güçlü ve dağıtık bir event streaming platformudur.
Peki nasıl çalışıyor dersen, işin temeli üretici ve tüketici uygulamalara dayanıyor. Üretici (producer) dediğimiz uygulamalar, sistemde gerçekleşen olayları yani event'leri oluşturup Kafka'ya gönderiyor. Ama rastgele değil - bu veriler "topic" adı verilen kategorilere gönderiliyor. Yani topic’ler aslında belirli türdeki verilerin saklandığı ve yayınlandığı kanallar gibi düşünebilirsin. Kafka, bu verileri arka planda birçok sunucuya (bunlara "broker" deniyor) bölerek (partition) ve kopyalayarak (replication) dağıtıyor. Bu sayede sistem hem kolayca ölçeklenebiliyor hem de herhangi bir sunucu çökerse veri kaybı yaşanmıyor.
Birden fazla broker bir araya geldiğinde oluşan yapıya ise "cluster" adı veriliyor. Tüketici (consumer) uygulamalar da bu cluster’dan istedikleri topic’e abone olup verileri okuyabiliyor. Bu ister en güncel event’ler olsun, ister geçmişteki tüm veriler - Kafka, ikisini de destekliyor. Genelde yüksek hacimli, gerçek zamanlı veri işleme gerektiren sistemlerde Kafka çokça tercih ediliyor. Yani bir yerlerde sürekli veri akıyorsa, büyük ihtimalle arka planda Kafka çalışıyordur.