Kafka
Defini bekliyoruz
Apache Kafka, gerçek zamanlı veri boru hattı ve akış uygulamaları oluşturmak için tasarlanmış dağıtılmış bir veri akış platformudur. Yüksek ölçeklenebilir, hataya dayanıklı ve dayanıklı yayın-abone mesajlaşma sistemi olarak çalışır. Temel mimarisi, kategoriler veya kayıtların akışları olan 'topluluklar' etrafında döner. Üreticiler konulara kayıt yayınlar ve tüketiciler bu kayıtları okumak için konulara abone olurlar. Kafka brokerleri, bir grup oluşturarak bu kayıtları kalıcı bir şekilde depolayabilir ve tüketicilere hizmet edebilir. Kayıtlar, paralel işleme ve yüksek güç sağlayan konularda bölünmeler halinde düzenlenir. Her bölünme, kayıtların değişmez bir sırasıdır. Brokerler arasındaki replikasyon hata toleransını sağlar; bir broker başarıs
graph LR
Center["Kafka"]:::main
Rel_ipfs["ipfs"]:::related -.-> Center
click Rel_ipfs "/terms/ipfs"
Rel_file_systems["file-systems"]:::related -.-> Center
click Rel_file_systems "/terms/file-systems"
Rel_distributed_ledger_technology_dlt["distributed-ledger-technology-dlt"]:::related -.-> Center
click Rel_distributed_ledger_technology_dlt "/terms/distributed-ledger-technology-dlt"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Bilgi testi
🧒 5 yaşındaki gibi açıkla
Dijital bilgilerin süper organize, süper hızlı bir posta servisi gibi düşünün; mesajlar (olaylar) belirli posta kutularına (konulara) gönderilir ve göndericinin alıcıları bilmesine gerek kalmadan, o posta kutusuna abone olan herkes tarafından alınabilir.
🤓 Expert Deep Dive
Kafka'nın mimarisi, dağıtılmış bir işlem günlüğü (commit log) konsepti üzerine kuruludur. Konular (topics) bölümlere ayrılır ve her bölüm, mesajların sıralı bir dizisidir. Broker'lar bu bölümleri depolar ve replikasyon, bölüm yönetimi için lider-takipçi dinamikleriyle birlikte hata toleransı sağlar. Üreticiler (producers), bir bölümün liderine mesaj yazar ve takipçiler (followers) veriyi eşzamansız olarak çoğaltır. Tüketiciler (consumers), her bölümde kendi ofsetlerini (offset) tutarak ilerlemelerini bağımsız olarak izlemelerine olanak tanır. Bu ayrık yapı, yüksek verim ve ölçeklenebilirlik sağlar. Dezavantajları arasında, tüketiciler tarafından dikkatli bir şekilde yönetilmezse bir bölüm içindeki mesaj sırasının bozulma potansiyeli ve arızalar veya ölçeklendirme olayları sırasında tüketici grubu yeniden dengelemesinin (rebalancing) karmaşıklığı yer alır. ZooKeeper, geçmişte meta veri yönetimi, lider seçimi ve broker kaydı için kritik öneme sahip olmuştur, ancak KRaft protokolü bu bağımlılığı ortadan kaldırmayı hedeflemektedir. Güvenlik açıkları arasında güvensiz brokerlar arası iletişim, veri ihlallerine yol açan yetersiz erişim kontrolü ve broker'ları veya ZooKeeper'ı hedef alan potansiyel hizmet reddi saldırıları bulunabilir.