Sobes.tech
Middle — Middle+

Je možné v systéme nastaviť konkrétne rozdelenie správ po partíciách?

sobes.tech AI

Odpoveď od AI

Áno, v systémoch výmeny správ, ako je Apache Kafka, je možné definovať konkrétne rozdelenie správ podľa partition.

Toto sa dosahuje pomocou kľúča správy (partition key), ktorý používateľ používa na určenie, do ktorej partition bude správa smerovaná. Ak je kľúč rovnaký, všetky správy s týmto kľúčom pôjdu do rovnakej partition, čím sa zabezpečí poradie.

Príklad v C# s Kafka Producer:

var config = new ProducerConfig { BootstrapServers = "localhost:9092" };

using var producer = new ProducerBuilder<string, string>(config).Build();

string key = "user-123"; // kľúč pre rozdelenie
string value = "správa pre používateľa 123";

var result = await producer.ProduceAsync("názov-tématu", new Message<string, string> { Key = key, Value = value });

Console.WriteLine($"Správa odoslaná do partition {result.Partition}");

Týmto spôsobom, kontrolou kľúčov správ, je možné riadiť rozdelenie na partition.