Sobes.tech
Junior — Middle

Waarom is het niet mogelijk om de berichten in de volgorde waarin ze zijn verzonden te lezen bij gebruik van een onderwerp dat is opgesplitst in drie partities?

sobes.tech AI

Antwoord van AI

В теме, разделённой на несколько партиций (в данном случае три), сообщения распределяются между партициями, обычно на основе ключа сообщения или по круговому принципу. Каждая партиция гарантирует порядок сообщений внутри себя, но между разными партициями порядок не гарантируется, так как они обрабатываются параллельно и независимо.

Поэтому, если сообщения идут в разные партиции, то при чтении из темы в целом порядок сообщений может отличаться от порядка их отправки, так как потребитель читает из всех партиций одновременно, и скорость обработки сообщений в каждой партиции может отличаться.

Пример: если сообщение 1 попало в партицию 0, а сообщение 2 — в партицию 1, то потребитель может получить сообщение 2 раньше, чем сообщение 1, несмотря на то, что сообщение 1 было отправлено раньше.