Это сложный вопрос, чтобы сформулировать его в ограниченном пространстве для заголовка, но я постараюсь объясниться. Я хочу, чтобы пользователи моего веб-сайта могли сами запускать серверы. Эти серверы будут оценены и оценены. Я хочу отправить эти значения в мой балансировщик нагрузки, чтобы он взвешивал трафик между всеми серверами на основе их мощности. Балансировщик нагрузки должен динамически балансировать нагрузку между временными серверами, поэтому каждый раз, когда кто-то запускает сервер, он будет добавлен в список серверов для балансировки с их взвешенной оценкой. Как бы я это сделал? Можно ли это вообще сделать?диаграмма
решение1
Я не совсем понимаю, какую проблему вы пытаетесь решить, и не понимаю, чего вы намереваетесь добиться, позволяя пользователям управлять инфраструктурой вашего веб-сайта...
Но«динамически добавлять серверы в балансировщик нагрузки» у вас есть примерно две разные стратегии:
Ваш балансировщик нагрузки предоставляет API (и вы запускаете вызов API для добавления/удаления серверов из пула)
Ваш балансировщик нагрузки поддерживает механизм обнаружения сервисов.
Довольно распространенным является DNS. Например, вы используете одноmyservice.example.com
имя хоста в пуле балансировщика нагрузки/конфигурации бэкэнда, и когда серверы добавляются/удаляются, вам не нужно менять конфигурацию балансировщика нагрузки, а только запись DNS:myservice.example.com. 90 IN A 192.168.2.131 myservice.example.com. 90 IN A 192.168.2.132 myservice.example.com. 90 IN A 192.168.2.133