Помогите с логической задачей

Доброго времени суток. Прошу у вас помощи в решении скорее всего для вас простой логической задачи.


Начну издалека. В планах для собственных клиентов поднять хостинг с биллингом. Для этой задачи вполне подходит Vesta CP - достаточно функциональный продукт с очень хорошим дизайном (за это отдельное спасибо разработчикам и дизанерам) и достаточным API. Но вот с терпимыми по внешнему виду биллингами огромный трабл. Плюс есть особенности местного эквайринга. В общем биллинг хотим пилить сами - выбора нет, да и просто интересно. В последствии хотим торговать хостингом для всех. Рано или поздно возможности сервера по вертикальному масштабированию закончатся и придется задумываться о горизонтальном.


Теперь сама задача.

Биллинг общается с панелью через API. Мы купим второй сервер, поставим на него Vesta CP.

Как реализовать в биллинге логику того, на каком сервере у конкретного клиента будет создаваться аккаунт согласно связке тариф-шаблон и с каким сервером в последствии работать?


И второй вопрос. Есть ли какие-либо решения, чтобы автоматически определять загрузку ресурсов сервера и выбирать самый свободный?


Заранее спасибо за ваши комментарии и решения.

1
Автор поста оценил этот комментарий

Это не логическая задача, а архитектурная. По распределению нагрузок есть несколько практик. Например выдавать по DNS разные адреса разных серверов. Адреса брать по round-robin.

Можно на вход поставить сервак, который будет раскидывать нагрузку в зависимости от условий. Так nginx делает, например. А там или тот же round robin (или его вариант взвешенный раунд-робин) или leastconn. В общем рой в эту сторону, практик полно

раскрыть ветку
1
Автор поста оценил этот комментарий

Сервер в данном случае это просто железка с ресурсами. Аккаунты обычно хранят в единой базе.


Т.е. по-хорошему логика должна быть другой: инфа, с каким сервером работать и где лежат сайты Васи Пупкина, надо хранить вместе с учёткой и прочими сведениями. Ибо серверов может быть и 200 штук - запаритесь логику переписывать и данные переносить.


Решений для load balancing'а в сети полно, начиная с той же piranha - гугл в помощь.

раскрыть ветку
1
Автор поста оценил этот комментарий
Сколько платишь?
раскрыть ветку