Sobes.tech
Junior — Middle

É possível garantir a sequência de leitura das mensagens em um Topic se as mensagens estiverem distribuídas por três partições?

sobes.tech IA

Resposta da IA

В Apache Kafka, если сообщения распределены по трем разделам (partitions) в одном Topic, то гарантировать глобальную последовательность чтения сообщений по всему Topic нельзя. Последовательность гарантируется только внутри одного раздела — сообщения в одном partition упорядочены и читаются в том же порядке, в котором были записаны.

Если важна глобальная последовательность, то обычно:

  • Используют один partition (но это снижает масштабируемость).
  • Либо обеспечивают ключи сообщений так, чтобы связанные сообщения попадали в один partition.

Таким образом, при трех разделах последовательность чтения сообщений по всему Topic обеспечить нельзя, но внутри каждого раздела — можно.