Балансировка нагрузки возможна не только между серверами, объединёнными в кластер. С некоторыми ограничениями, можно сделать это с помощью любого балансировщика нагрузки, в том числе и с помощью apache + mod_wl просто перенаправляя запросы на разные сервера, на которые задеплоено одно приложение. Естественно, фича session failover при этом не доступна.
В моём случае необходимо было реализовать возможность перезагрузки экземпляров weblogic (по очереди) без потери доступности сервиса. При этом потеря сессии и её состояния не считается критичной.
Будем реализовывать вот такую схему:
Если почитать документацию, можно найти нужный параметр
WebLogicClusterпод которым подразумевается
List of WebLogic Servers that can be used for load balancingЭто список серверов, доступных для перенаправления на них запросов. Список динамически обновляется, учитывая failed и recvered в данный момент сервера.
При этом не стоит переопределять параметр
DynamicServerListон по имелчанию равен ON. При установке его в Off возможно перенаправление запроса на неработающий в данный момент сервер.
Для апача настройка будет такой же, как и в предыдущем посте. Конфиг модуля будет выглядеть так
LoadModule weblogic_module "/etc/apache2/modules/mod_wl_22.so"
<IfModule mod_weblogic.c>
WebLogicCluster server1:8001,server1:8002,server2:8001,server2:8002
MatchExpression *.jsp №перенаправлять только jsp-страницы
</IfModule>
Или, например, такПарвый вариант перенапрвляет запрс на основе MIME-типа. Второй по явному указанию пути (path) или его части
<Location /myApp>
SetHandler weblogic-handler
PathTrim /myApp WebLogicCluster server1:8001,server1:8002,server2:8001,server2:8002
</Location>
Комментариев нет:
Отправить комментарий