Для необязательной аналитики можно передать событие в ограниченную очередь фонового worker и вернуть ответ. Для гарантированной доставки нужна durable-очередь или outbox.
Как это сделать на уровне Go — идейно, чтобы отправлять ответ пользователю и параллельно отправлять данные в аналитику?
Для необязательной аналитики можно передать событие в ограниченную очередь фонового worker и вернуть ответ. Для гарантированной доставки нужна durable-очередь или outbox.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для необязательной аналитики можно передать событие в ограниченную очередь фонового worker и вернуть ответ. Для гарантированной доставки нужна durable-очередь или outbox.
Просто go sendAnalytics() не защищает от остановки процесса и создаёт неконтролируемое число горутин. Контекст HTTP-запроса после завершения отменится, поэтому фоновая работа требует собственного ограниченного жизненного цикла. Задайте политику переполнения и не включайте в события секретные данные.