Задать вопрос
Ответы пользователя по тегу C#
  • Архитектурно-правильная отсылка большого количества email/sms с asp.net сайта

    TheHorse
    @TheHorse
    Я ничего не могу сказать на тему готовых решений, но что касается логики, контекста быстродействия и высокой нагрузки — должно быть как-то так:

    Есть БД, есть программа (я так понимаю, задача у вас — реализация такой программы).
    1. На прогу поступает ряд новых запросов. Если ОП достаточно — помещаем их в ОП, иначе свапаем в БД.
    2. Есть мультиплексор, каждую итерацию цикла — он принимает ответы на запросы об отправке, и отправляет N новых запросов. Все выходы мультиплексора следует проверять алгоритмами обработки протоколов передачи СМС, EMail. Если пришло подтверждение отправки — записуем в буфер отправленных, иначе записуем в буфер повтора отправки. Как только эти буферы заполнены, либо n раз мультиплексор не выдаёт ничего нового — записуем инфу с буферов в БД.
    3. Если есть свободная ОП, считываем ряд новых запросов с БД.

    Суть всего этого такова: важно иметь количество потоков / процессов, что не зависит от количества запросов (а то сервер помрет); запросы к БД — только по 1000-2000 записей (не по одной, а то помрет сервер); по максимуму использовать доступную ОП;
    Ответ написан
    Комментировать