Если я использую кластер Kafka с большим количеством разделов, чем у моей единственной группы потребителей есть потребители. Есть ли какие-либо гарантии по упорядочиванию сообщений или своевременной доставке сообщений по разделам?
Простой пример:
2 раздела, 1 потребитель
Производители контролируют назначение разделов с помощью ключа.
Сообщение 1 входит и отправляется в раздел A
Сообщение 2 входит и отправляется в раздел B
Сообщение 3 приходит и переходит в раздел A
Я знаю, что Сообщение 1 будет использовано до сообщения 3, потому что они находятся в одном разделе. Но как насчет сообщения 2? Будет ли он использован до Сообщения 3 или после? Или это могло измениться? Могло ли оно быть употреблено до сообщения 1?
Более того, что, если для раздела A будут продолжать поступать новые сообщения и производство будет быстрее, чем потребление? Будет ли Сообщение 2 находиться в Разделе B неопределенное время? Когда это будет употреблено? Есть ли гарантии, что сообщения не будут сидеть вечно?
В более общем плане: если потребителю назначено несколько разделов, как и когда этот потребитель переключается между этими разделами?