This content originally appeared on DEV Community and was authored by Gülsen 🦋
Aggrigation yapabiliriz: yani yazılan verilerin belli özelliklere göre toplanması. Producer'lerin verilerinin belirlenen özelliklerine göre toplanmasıdır.
Verilerin sıralı bir şekilde toplanması (sorting - event sourcing)
Daha hızlı okumak (parallelism)
Verileri daha verimli saklamak (efficiency)
Round robin: Gelen mesajları sırasıyla partitionlara bölüştürmek
Aggregation: Örneğin key değerini category olarak verirsek mesajlar kategoriye göre gruplandırılıp öyle gönderilir.
Sorting- event sourcing: Örneğin customerId'yi key olarak verirsek login, add to cart, purchase (giriş yap, sepete ekle, satın alma) gibi kullanıcıların yaptığı işlemleri arka arkaya sıralar.
Bir partition olsaydı okuma ve yazma performansı çok kötü olurdu yani paralelizm yapamazdık.
Bir partition'dan aynı anda aynı kimliğe sahip sadece bir consumer okuyabilir.
Partition kullanarak büyük boyutlu mesajları istediğimiz şekilde yönlendirebiliriz.
Mesela büyük mesajları belli bir partition'a küçük mesajları belli bir partition'a yönlendirebiliriz.
Leader partition : her partitionun replication kopyalarından biri lider olarak atanır bizde bu lider partitiona yazarız. Bu yazdığımız partition da diğer replication kopyalarına bu bilgiyi gönderip senkronize eder.
Eğer bir nedenden dolayı lider olan partition çökerse kafka hemen yeni bir partition'u lider olarak seçer.
Kafkaya veri yazımı üç safhadan oluşur:
- Kafkaya veri göndermek
- Verinin lider olan partition'a gönderilip saklanması
- Lider olan partition'un bu veriyi diğer kopya olan partition'lara aktarması
Producer Acknowledgement:
Kafkaya veri gönderdiğimizde bu üç safhanın hangilerinin bitmesini veya tastik etmesi gerektiğini belirleyebiliyoruz buna acknowledgement deniliyor.
Acks=0 (en hızlı ve riskli olan mesaj kaybolma şansı yüksek)
Kafkaya gönder ve cevabı beklemeden devam et
Acks=1 (orta derece hızlı ve güvenli, Mesaj kaybolma şansı çok az)
Kafkaya gönder ve sadece leader yazana kadar bekle
Acks= all, -1 (en yavaşı ve en güvenlisi , mesaj kaybolma şansı yok)
Kafkaya gönder, leader yazmasını ve leader'in diğer partition'lara yazmasını bekle
This content originally appeared on DEV Community and was authored by Gülsen 🦋
Gülsen 🦋 | Sciencx (2022-01-20T22:52:47+00:00) Kafka da Neden Partition Oluştururuz? 💫 🌌 ✨. Retrieved from https://www.scien.cx/2022/01/20/kafka-da-neden-partition-olustururuz-%f0%9f%92%ab-%f0%9f%8c%8c-%e2%9c%a8/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.