Sobes.tech
Junior — Middle

Miért nem garantálható az üzenetek olvasása azok küldési sorrendjében, ha egy témát három partícióra osztunk?

sobes.tech MI

Válasz az MI-től

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

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

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