Apache Kafka, Linkedin tarafından geliştirmiş bir Message Broker Sistemidir. Messager broker, birçok uygulama arasında iletişimin sağlanmasını sağlar.
Eğer sorun;
Birçok kaynak ve birçok hedef sisteminiz olduğunda ve hepsinin birbirleriyle veri transferi yapması gerektiğinde işler gerçekten karmaşık hale geliyor ve her bir sistemin birbiri ile entegrasyonu gerekiyorsa,
Yüksek hacimli verileri toplamak ve mesajları bir uç noktadan diğerine iletmemiz gerekiyorsa, Terabaytlarca depolanmış mesaj ile uğraşırken sabit performans seviyesine ulaşamıyorsak Apache Kafka çözüm olarak karşımıza çıkacaktır.
Apache Kafka sayesinde büyük verileri gerçek zamanlı veri akışıyla ve sistemlerin birbiriyle entegrasyonunu gerektirmeden kullanabilirsiniz.
Apache Kafka’nın Avantajları
Kafka da verilerin bir sistemden diğer sistemlere hatasız, kayıpsız ve hızlı bir şekilde transferini sağlar. Kafka hem Queue hemde pub/sub yapısını destekler. Queue yapısında sisteme mesaj gönderilir ve 1 kere okunur daha sonra silinir. Pub/sub yapısında sisteme mesaj gönderilir ve 1 den fazla yapı tarafından okuyabilir. Scala ve java ile yazılan Apache Kafka da mesajlar index yapısına göre yazılır ve okunur.
Nerelerde Kullanılır?
Artıları Nelerdir?
Apache Kafka Bileşenleri
Apache Kafka 3 bileşenden oluşmaktadır.
Producer
Kafkaya verinin gönderileceği bileşendir.Projelerimizde göndermek istediğimiz veriyi kafka producer’a göndeririz.
Topics
Producer ile gönderdiğimiz verileri topiclerde tutarız. Kafka içinde birden fazla topic oluşturabiliriz.
Consumer
Producer ile topic’e gönderdiğimiz mesajları consumer topic’e bağlanır ve bütün mesajları tüketene kadar okur. Eğer bütün mesajları okumuşsa yeni bir mesaj gelene kadar bekleme moduna geçer.