Sobes.tech
Junior — Middle
108

Proč nelze zaručit čtení zpráv ve pořadí jejich odeslání při použití tématu rozděleného do tří částí?

Společnosti byly požádány
Альфа-БанкАльфа-Банк

Odpověď od AI

sobes.tech AI

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

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

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