[имя] спросил: Как бы вы подошли к задаче обеспечения порядка обработки/доставки событий в распределённой системе?

Сначала определите, нужен ли глобальный порядок или достаточно порядка для одного заказа, пользователя либо другого ключа. Обычно выбирают упорядочивание по ключу и явные версии событий.

Короткий ответ

Что ответить на собеседовании

Сначала определите, нужен ли глобальный порядок или достаточно порядка для одного заказа, пользователя либо другого ключа. Обычно выбирают упорядочивание по ключу и явные версии событий.

Подробный разбор

Ответ с пояснениями

Сначала определите, нужен ли глобальный порядок или достаточно порядка для одного заказа, пользователя либо другого ключа. Обычно выбирают упорядочивание по ключу и явные версии событий.

События одного агрегата направляют в одну partition или последовательную очередь и обрабатывают одним логическим владельцем. Sequence number помогает обнаружить пропуск и устаревшее событие; повторную доставку дедуплицируют. Retry и параллельная обработка могут нарушать порядок завершения даже при упорядоченной доставке, поэтому их нужно согласовать с требованиями. Глобальный порядок дороже и может стать узким местом. Временная метка сама по себе не обеспечивает порядок из-за рассинхронизации часов и одинаковых значений.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее