По ядру на партицию. С корутинами не работал. Но сомневаюсь, что они дают мне гарантии - позже считанное сообщение будет обработано строго позже, чем ранее считанное.
По ядру на партицию. С корутинами не работал. Но сомневаюсь, что они дают мне гарантии - позже считанное сообщение будет обработано строго позже, чем ранее считанное.
Если тебе важен порядок, то ты не можешь обработать сообщение в пачке, если раньше был сбой. И тут тебе никакая очередь не поможет, включая rmq.
Я пишу про семантику "обработано". Когда я подтверждаю ack'ом обработку одного сообщения. В кафке семантика коммита офсета - прочитано. Потому как изначально она была спроектирована для использования с данными, допускающими потерю
В Кафке ты сам управляешь моментом, когда и где делать оффсет. Можешь при чтении, можешь при обработке. Если порядок не важен - то заводи побольше партиций, читай по одной записи, настраивай масштабирование как хочешь.
В кафке вы либо берете из партиции строго поочередно и значит не можете взять в одновременную работу сообщений больше чем партиций, либо до пускает потерю сообщений.
Я знаю как работает кафка досточно хорошо)) И именно это знание заставляет меня искать альтернативы. Если мой проект будет допускать потерю данных - возьму кафку. Таких областей много.