При перезапуске теряются задания, живущие только в памяти. Для надёжной отправки нужны устойчивая очередь или outbox, graceful shutdown и повторная обработка.
Нам нужно перезапустить сервис (апдейт/фича) — какое влияние это окажет на асинхронные процессы отправки в аналитику?
При перезапуске теряются задания, живущие только в памяти. Для надёжной отправки нужны устойчивая очередь или outbox, graceful shutdown и повторная обработка.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
При перезапуске теряются задания, живущие только в памяти. Для надёжной отправки нужны устойчивая очередь или outbox, graceful shutdown и повторная обработка.
Сначала прекращают принимать новую работу, затем дают текущей завершиться в ограниченный срок. Неотправленные события должны оставаться в устойчивом хранилище. После рестарта возможны дубли, поэтому получатель или отправитель использует идентификатор события. Одного defer при аварийном завершении недостаточно.