Kafka da Neden Partition Oluştururuz? 💫 🌌 ✨

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…


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:

  1. Kafkaya veri göndermek
  2. Verinin lider olan partition'a gönderilip saklanması
  3. 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 🦋


Print Share Comment Cite Upload Translate Updates
APA

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/

MLA
" » Kafka da Neden Partition Oluştururuz? 💫 🌌 ✨." Gülsen 🦋 | Sciencx - Thursday January 20, 2022, https://www.scien.cx/2022/01/20/kafka-da-neden-partition-olustururuz-%f0%9f%92%ab-%f0%9f%8c%8c-%e2%9c%a8/
HARVARD
Gülsen 🦋 | Sciencx Thursday January 20, 2022 » Kafka da Neden Partition Oluştururuz? 💫 🌌 ✨., viewed ,<https://www.scien.cx/2022/01/20/kafka-da-neden-partition-olustururuz-%f0%9f%92%ab-%f0%9f%8c%8c-%e2%9c%a8/>
VANCOUVER
Gülsen 🦋 | Sciencx - » Kafka da Neden Partition Oluştururuz? 💫 🌌 ✨. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2022/01/20/kafka-da-neden-partition-olustururuz-%f0%9f%92%ab-%f0%9f%8c%8c-%e2%9c%a8/
CHICAGO
" » Kafka da Neden Partition Oluştururuz? 💫 🌌 ✨." Gülsen 🦋 | Sciencx - Accessed . https://www.scien.cx/2022/01/20/kafka-da-neden-partition-olustururuz-%f0%9f%92%ab-%f0%9f%8c%8c-%e2%9c%a8/
IEEE
" » Kafka da Neden Partition Oluştururuz? 💫 🌌 ✨." Gülsen 🦋 | Sciencx [Online]. Available: https://www.scien.cx/2022/01/20/kafka-da-neden-partition-olustururuz-%f0%9f%92%ab-%f0%9f%8c%8c-%e2%9c%a8/. [Accessed: ]
rf:citation
» Kafka da Neden Partition Oluştururuz? 💫 🌌 ✨ | Gülsen 🦋 | Sciencx | 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.

You must be logged in to translate posts. Please log in or register.