Sobes.tech
Назад к вопросам
Middle+
3

Как связаны топик и партиции в Kafka? Гарантирован ли порядок сообщений в разных партициях?

Компании, где спрашивали
Т-БанкТ-Банк

Ответ от нейросети

sobes.tech AI

В Kafka топик — это логическая категория или поток сообщений, разбитый на несколько партиций для масштабируемости и параллельной обработки.

Партиции — это физические сегменты топика, каждый из которых хранит упорядоченный набор сообщений. Сообщения внутри одной партиции имеют строгий порядок и индексируются смещением (offset).

Отношения:

  • Топик состоит из одной или нескольких партиций.
  • Производители (producers) отправляют сообщения в конкретные партиции (по ключу или раунд-робином).
  • Потребители (consumers) читают сообщения из партиций.

Гарантии порядка:

  • Порядок сообщений гарантируется только внутри одной партиции.
  • Между разными партициями порядок не гарантируется, так как они обрабатываются параллельно.

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