Украинские провайдеры: как стать лучшим

a39a0fdf4c160d7085fa4c27523a07d8

Бизнес хостеров является очень технологичным — чтобы обеспечить бесперебойную и стабильную работу даже не самых популярных и крупных веб-сайтов необходимо создание довольно мощной инфраструктуры. В этой статье будет рассказано об архитектуре внешних систем успешного хостинг провайдера.

a39a0fdf4c160d7085fa4c27523a07d8 800x440 Украинские провайдеры: как стать лучшим

Украинские провайдеры: путь к успеху

Компоненты инфраструктуры

При организации инфраструктуры было принято важное решение о максимально возможном разделении разных компонент хостинг услуг. При повышении нагрузки, данный подход позволит не разбивать единое приложение, не заниматься весьма сложной миграцией, а перенести необходимый сервис на новый сервер.

Система хостинг провайдера состоит из таких элементов:

  • Внешний веб-сайт.
  • Панель администратора и службы техподдержки.
  • Сервис нотификации.
  • Внутренняя панель.
  • Сервис обработки задач.
  • Сервис отработки заданий, асинхронных по времени.
  • Биллинг-сервис.
  • Сервис мониторинга.

При создании сервисов применялись технологии ASP.NET MVC 5, C#, Entity Framework 6.1. Все вышеперечисленные элементы связаны общей программной частью, которая имеет название DataLayer. Она содержит сведения по моделям, общим словарям и статическим методам. В этом же решении определены Data Facade для работы с БД.

Схематично инфраструктуру представить можно так:

ea22317b10107de920514b155bfeabb2 800x632 Украинские провайдеры: как стать лучшим

Рассмотрим отдельные компоненты системы детальнее.

Внешний интернет-сайт и внутренняя панель

Основной интернет-сайт хостинг провайдера, применяется для привлечения клиентов и служит витриной, которую посетители видят в первую очередь. Для увеличения конверсии страничек сайта добавлены важные для клиентов элементы, типа калькулятора, который позволяет делать расчет стоимости услуг (это решение принято было на основе анализа поведения пользователей прошлой версии веб-сайта).

Внутренняя панель ориентирована прежде всего на выполнение стандартных операций по управлению своими серверами, а также оплате услуг (выполнена интеграция со специальным платежным шлюзом «ДеньгиОнлайн»).

Также есть «административная» часть веб-сайта, доступ к которой имеют сотрудники службы технической поддержки.

Любое действие, которое совершается на внешнем веб-сайте, панели управления или «админке», не исполняется сразу же, но ставится в небольшую очередь на асинхронную обработку (другими словами, создается задание — таск). Сразу регистрируется лишь информация, внесенная в БД.

Сервис обработки задач

Создаваемые задачи обрабатывает особый сервис. Обработка выполняется по специальному методу FIFO в параллельном режиме. Есть несколько видов обработчиков. Именно от вида зависит, какой обработчик будет взаимодействовать с новой задачей. Именно данный сервис несет ответ за работу с API всех сторонних систем.

Во время обработки тасков очень часто возникает потребность в отправке оповещений, которые не отправляются моментально, а ставятся на обработку в очередь.

Сервис нотификаций

Данная часть системы проектировалась изначально с расчетом на работу в условиях сильных нагрузок. В частности, за счет этого, сервис не производит практически никакого анализа отправляемых оповещений (есть только защита от отправки дублирующих сообщений).

Параметры корреспонденции (поля тема, кому, от кого, тело сообщения в HTML/Plane Text) определяются здесь на уровне сервиса обработки задач. Специальный сервис нотификации также работает по методу FIFO.

Биллинговая подсистема

Один из наиболее важных компонентов системы. Эта подсистема отвечает за тарификацию всех услуг, а также списание средств с клиентов. Каждые десять минут сервис выполняет сбор параметров заказанных услуг, расчет цены и, соответственно, делает списания с лицевых счетов клиентов.

На данный момент подсистема является не очень сложной — и в этом один из ее ключевых плюсов, так как такую архитектуру намного проще поддерживать (хотя число генерируемых операций в сутки вначале доставляло определенные сложности, с которыми справляться пришлось отдельно).

6d897a7874c8fd7713b4a008b1653931 800x541 Украинские провайдеры: как стать лучшим

В будущем необходимо будет развивать биллинг, так как планируется введение совершенно новых услуг, модели оплаты за потребленные реально ресурсы — в ходе данного проекта планируется совместная работа с VMWARE vSphere API.

Сервис отправки асинхронных оповещений

Украинские провайдеры должны регулярно беспокоить своих клиентов автоматическими сообщениями (к примеру, напоминаниям о ликвидации заблокированного сервера через несколько дней). Создавать такие сообщения может только «специально обученный» сервис, получающий информацию от остальных модулей системы.

Система мониторинга

«Основной диагност» системы, который следит главным образом за ее здоровьем, ищет ошибки типа зависших тасков, либо сбоев при их обработке, различные проблемы при выполнении биллинга, отправке сообщений, парсинге логов.

Планы

В будущем необходимо запустить услугу балансировки нагрузки, которая даст возможность клиентам заказывать балансировку нагрузки на программу, запущенную в частности на серверах в разнесенных территориально ЦОД.


Поделитесь с друзьями



Оставить комментарий

apteka mujchine for man ukonkemerovo woditely driver.