13.1. Mesajlaşma Platformu: Apache Kafka
Kafka, tek bir soyutlamanın — dağıtık, replikeli commit log — nasıl tüm bir veri ekosisteminin omurgası haline geldiğine dair bir vaka çalışmasıdır. Performansı, donanıma karşı değil onunla çalışmaktan gelir: sıralı disk yazmaları, sıfır kopyalı okumalar ve JVM heap yerine sayfa önbelleği (page cache). Bu bölüm, bu performansın arkasındaki tasarım kararlarını, ZooKeeper bağımlılığını kaldıran KRaft modunu, consumer-group yeniden dengeleme hata modlarını ve tam olarak bir kez semantiğinin gerçekte nasıl elde edildiğini inceler.
İncelenen Konular
Section titled “İncelenen Konular”- 13.1.1. Disk Tabanlı Kalıcılık ve Sıfır Kopyalama Optimizasyonu: Kafka’nın sıralı disk yazmalarının, sayfa önbelleğinin ve sıfır kopyalı okumalarının yüksek verimi nasıl elde ettiğini açıklar.
- 13.1.2. KRaft Modu: ZooKeeper Bağımlılığını Ortadan Kaldırmak: Meta veriyi Raft tabanlı bir log’a taşıyarak Kafka’nın ZooKeeper bağımlılığını kaldıran KRaft modunu kapsar.
- 13.1.3. Consumer Group Yeniden Dengeleme: Hata Senaryoları: Consumer-group yeniden dengelemeyi ve stop-the-world duraksamalarına neden olan hata senaryolarını açıklar.
- 13.1.4. Tam Olarak Bir Kez Semantiği: Idempotent Producer + Transactional API: Kafka’nın idempotent producer ve transactional API ile tam olarak bir kez semantiğini nasıl elde ettiğini kapsar.
- 13.1.5. Kafka Streams ve ksqlDB: Hangisini Ne Zaman Kullanmalı: Doğrudan Kafka üzerinde akış işleme için Kafka Streams ve ksqlDB’yi karşılaştırır.