Можно ли настроить сервер apache (например, используя мод прокси), чтобы он работал с синим / зеленым (весь трафик на один сервер, если он не работает, мы перенаправляем на другой) или канареечным (например, 10% пользователей перенаправляются на Сервер, а другие - сервер B) стратегии развертывания? Или, если это невозможно с apache, как я могу этого добиться? Я знаю, что apache может работать как простой балансировщик нагрузки (одинаковое количество запросов к каждому серверу приложений). Моя архитектура приложения выглядит так (без балансировки): apache -> app-server(wildfly)
.
Да, вы можете сделать это с помощью баланса нагрузки Apache, пожалуйста, обратитесь к URL-адресу ниже.
резервное копирование сервера балансировки нагрузки apache
Если вы хотите использовать другую технологию, я рекомендую Nginx. Потому что это действительно просто.
ваш 1-й вопрос -> весь трафик на один сервер, если он не работает, мы перенаправляем на другой
да, вы можете сделать это с помощью Nginx с резервным подключением. в этом случае один из серверов помечен как резервное копирование сервер и не принимает запросы, если другой сервер недоступен.
upstream app_server
{
server 10.10.10.1:8080;
server 10.10.10.2:8080 backup;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://app_server;
}
}
ваш второй вопрос -> вы можете сделать это с помощью Nginx + Server Weights
upstream app_server
{
server 10.10.10.1:8080;
server 10.10.10.2:8080 weight=9;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://app_server;
}
}
При такой конфигурации весов из каждого десять Запросы, девять отправляются 10.10.10.2 (сервер B) и один до 10.10.10.1 (сервер A)