Асинхронная отправка событий — почему она медленнее синхронной на старте
Асинхронная отправка событий выглядит как волшебство на бумаге: пользователь кликнул, событие отправилось в очередь, ответ вернулся мгновенно. Но в реальности всё сложнее.
При синхронной отправке событие уходит, вы получаете результат, ошибку или таймаут — всё понятно. При асинхронной же событие попадает в очередь (Redis, RabbitMQ, Kafka), потом обработчик его вытягивает и обрабатывает. Если обработчик упал или очередь забилась — событие зависает, и вы об этом узнаете не сразу.
Синхронная подходит когда: результат нужен прямо сейчас (платеж, авторизация), нагрузка низкая, восстанавливаться нечего. Асинхронная когда: событие некритично (аналитика, письмо), нагрузка высокая, система должна выжить при падении сервиса обработки.
Главная ошибка — перейти на асинхронику чтобы "ускориться". Вы ускорите ответ клиенту, но добавите задачу мониторить очередь, ловить потерянные события и отлаживать таймауты обработчика. Выбирайте метод по нужде, не по моде.
Считайте символы без HTML: 752 символа
—
Соседний канал в сети: @kustov_voronki_apsel
Кустов про домены и редиректы
@kustov_meta_domains_tracking
Асинхронная отправка событий — почему она медленнее синхронной на старте
Этот пост опубликован в Telegram-канале Кустов про домены и редиректы. Подписаться можно по ссылке: @kustov_meta_domains_tracking.