#apache-kafka #timestamp #offset
#apache-kafka #временная метка #смещение
Вопрос:
Мы используем kafka для нашей очереди сообщений, наш бизнес требовал, чтобы временные метки сообщений должны располагаться в том же порядке, что и смещение, это означает: если есть сообщения m1 и message m2, и (m1.timestamp
Комментарии:
1. Apache Flink хорошо работает для упорядочения времени событий, на всякий случай … если вы открыты для изучения другого стека технологий.
Ответ №1:
Это зависит от используемого типа временных меток, существует два типа:
CreateTime
— временная метка назначается при создании записи производителя, поэтому перед отправкой. Могут быть повторные попытки, поэтому нет гарантии, что порядок сохранен.LogAppendTime
— временная метка присваивается, когда запись добавляется к журналу на брокере. В этом случае порядок для каждого раздела сохраняется. Нескольким сообщениям может быть присвоена одна и та же временная метка.
По умолчанию используется CreateTime
. Чтобы изменить это, установите log.message.timestamp.type
для брокера или message.timestamp.type
для определенной темы.