Sobes.tech
Junior — Middle
110

De ce nu se poate garanta citirea mesajelor în ordinea în care au fost trimise atunci când se utilizează un subiect împărțit în trei partiții?

Companiile au fost întrebate
Альфа-БанкАльфа-Банк

Răspuns de la AI

sobes.tech AI

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

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

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