сторонний сервис, через который происходит отправка, коммуникация с которым происходит по http. И вот запрос к этому сервис может идти секунду, и если мы будем выполнять этот запрос синхронно, то у нас эту секунду будет висеть коннект с пользователем. А у нас, допустим 1000rps. Зачем вам висящий секунду вхолостую коннект?
Гораздо проще положить задание в условные кафку/кролика, и отдать пользователю ответ, что мол, запрос на отправку сообщения принят.
Какой-то другой сервис получит данные из брокера и отправит в сервис, который занимается отправкой смс.
Это грубый пример.
Ну вот уже ближе.
Обсуждают сегодня