Как лучше организовать облачную CMS?

Добрый день!
На данный момент я занимаюсь разработкой облачного CMS, очень похож на modxcloud.com. Суть такова, что есть дашборд откуда наш клиент создает сайты, далее в админке эти сайты уже конфигурируются клиентом.
Сейчас система работает так:
1) система копирует CMS в директорию /sites/, получается допустим sites/client_url
2) при обращении к client_url.base_url.com загружается сайт из директории sites/client_url
Я думаю modxcloud тоже примерно так же устроен, но как при такой схеме масштабировать сервис?
Если сервер будет забит сайтами, каким образом подключить второй сервер?
Сейчас у меня на руках такое решение, но я не знаю насколько оно правильное:
1) Использовать Load Balancer - HaProxy
2) Установить критерий для LB -> если домены имеют заглавные буквы [A-G] (Условно) то идем на первый сервер, если нет, то на второй.

Прошу посвятить меня как правильно организовать инфраструктуру облачного сервиса.

UPD
Табличка с загруженностью серверов я считаю хорошей идеей, после недолгих размышлений пришел к такому алгоритму:
1) Дашборд получает команду от клиента о создании сайта
2) По табличке выбирается наименее загруженный сервер, туда сервер отправляет команду о генерации сайта с необходимыми данными
3) В зависимости от сервера сайт будет иметь адрес вроде такого: site_url.server_alias.base_url.ru
на base_url.ru будет хоститься сам Load Balancer
Но у меня такой вопрос, как в зависимости от тарифного плана ограничивать размер сайта? чтобы клиенты не загружали что попало, допустим максимальный размер на их сайте должен быть 100мб. Как отследить что клиент превысил допустимый объем?
  • Вопрос задан
  • 429 просмотров
Решения вопроса 1
Sanes
@Sanes
Проще всего завести табличку с рейтингом по нагрузке серверов. На основании рейтинга выбирать сервер.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы