24 Ekim 2021 Pazar

Apache Kafka Partition ve Global Event Order/Message Order

1. Global Event Order/Message Order
Normalde Kafka ile Global Event Order/Message Order korunamıyor.

Tek Consumer Olsaydı
Eğer tek bir consumer olsaydı mesajların sırası kaybolmazdı, ancak genellikle mesajlar partition şeklinde dağıtıldığı ve bunları işlemek için bir "Consumer Group" kullanıldığı için mesajların sırası kaybolabilir. Şeklen şöyle



Yani Topic dağıtıldığı için "Global Event Order" kaybedilir. Ancak partition 'lar kendi içinde sıralamayı korurlar. Açıklaması şöyle
A partition is an actual storage unit of Kafka messages which can be assumed as a Kafka message queue. The number of partitions per topic are configurable while creating it. Messages in a partition are segregated into multiple segments to ease finding a message by its offset. The default size of a segment is very high, i.e. 1GB, which can be configured.
Çözüm
1. Tek bir iş ile alakalı mesajlar aynı partition 'a konulur. Partition içinde sıralama korunduğu için sorun olmaz. Şeklen şöyle

2. Message Priority
Normalde Kafka ile Message Priority sağlanamıyor.

Çözüm
1. Her öncelik için kuyruk oluşturmak
Açıklaması burada

2. The Resequencer Pattern:
Açıklaması burada

3. The Bucket Priority Pattern
Açıklaması burada





Hiç yorum yok:

Yorum Gönder