Middle — Middle+
Lehet-e konkrét üzenetelosztást rendelni a rendszer partícióihoz?
sobes.tech MI
Válasz az MI-től
Igen, olyan üzenetküldő rendszerekben, mint például az Apache Kafka, meghatározható az üzenetek konkrét elosztása partíciók között.
Ez a kulcs (partition key) segítségével valósítható meg, amit a producer használ annak meghatározására, hogy az üzenet melyik partícióba kerüljön. Ha a kulcs ugyanaz, minden ugyanazzal a kulccsal küldött üzenet ugyanabba a partícióba kerül, biztosítva a sorrendet.
Példa C#-ban Kafka Producer-rel:
var config = new ProducerConfig { BootstrapServers = "localhost:9092" };
using var producer = new ProducerBuilder<string, string>(config).Build();
string key = "user-123"; // kulcs a partícióhoz
string value = "üzenet a felhasználó 123 számára";
var result = await producer.ProduceAsync("téma-neve", new Message<string, string> { Key = key, Value = value });
Console.WriteLine($"Üzenet küldve a {result.Partition} partícióba");
Így az üzenetkulcsok kontrollálásával kezelhető a partíciók közötti elosztás.