Kafka принимает события планирования, обработчик сохраняет job ID в Redis sorted set со временем отправки в score, а scheduler выбирает наступившие задания и передаёт исполнителям.
Как работает связка Kafka + Redis sorted set + внешний шедулер для отложенных нотификаций?
Kafka принимает события планирования, обработчик сохраняет job ID в Redis sorted set со временем отправки в score, а scheduler выбирает наступившие задания и передаёт исполнителям.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Kafka принимает события планирования, обработчик сохраняет job ID в Redis sorted set со временем отправки в score, а scheduler выбирает наступившие задания и передаёт исполнителям.
Нужны идемпотентное создание, атомарный claim с lease, восстановление после сбоя и контроль отмены уведомления. Offset Kafka подтверждают после устойчивого сохранения задания; Redis должен иметь подходящие гарантии сохранности либо восстанавливаться из надёжного источника. Отправка во внешний сервис требует дедупликации и обработки неопределённого результата, а не обещания exactly-once.