Сохраняйте получателей в долговечной очереди и ограничивайте общий темп до 100 SMS/с по правилам провайдера. Минимальное время для 2 миллионов отдельных SMS — 5 часов 33 минуты 20 секунд.
Провайдер разрешает отправку только 100 SMS в секунду, а у клиента загружено 2 миллиона номеров — как это учитывать, чтобы не допустить падения системы?
Сохраняйте получателей в долговечной очереди и ограничивайте общий темп до 100 SMS/с по правилам провайдера. Минимальное время для 2 миллионов отдельных SMS — 5 часов 33 минуты 20 секунд.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Сохраняйте получателей в долговечной очереди и ограничивайте общий темп до 100 SMS/с по правилам провайдера. Минимальное время для 2 миллионов отдельных SMS — 5 часов 33 минуты 20 секунд.
Это 2 000 000 / 100 = 20 000 секунд без учёта повторов и пауз. Лимит должен координироваться между workers, а не применяться независимо каждым. Нужны backpressure, ограниченные повторы с задержкой, статус каждой отправки и возможность отмены. Уточните, считаются ли сегменты длинного SMS отдельно и разрешены ли bursts. Импорт обрабатывается потоково или порциями, чтобы не держать весь объём в памяти.