Antes de começar a instalação, é preciso estar com o ambiente preparado. Faça o seguinte:
Para efeitos de simplificação, esse tutorial irá considerar que: 1) o servidor Realtime a ser usado será o instalado nesse nó; 2) a instalação será feita na pasta padrão (“/opt/fluig”).
O Fluig possui uma configuração especial para ser executado em cluster com Load Balancing. Essa configuração é habilitada durante a instalação.
Instale a aplicação, usando o procedimento normal, porém utilize a seguinte linha de comando:
sudo ./jdk-64/bin/java -jar -Dprofile=full-ha fluig-installer.jar |
Encontre a propriedade de binding "java:global/wcm/globalDataDir" e altere para apontar para a pasta compartilhada entre as instâncias;
<simple name="java:global/wcm/globalDataDir" value="{pasta global}/wcmdir"/> |
Encontre o subsystem "urn:com.totvs.technology.wcm:1.0" e altere para apontar para a pasta compartilhada entre as instâncias;
<subsystem xmlns="urn:com.totvs.technology.wcm:1.0" dir="{pasta global}/apps" refresh="15"/> |
O fluig já vem preparado para executar uma segunda instância na mesma instalação. Basta habilitar e configurar parâmetros como memória, port offset e nome da instância.
Abra em um editor de texto o arquivo FLUIG_HOME/appserver/domain/configuration/host.xml. Procure pela tag <servers>, dentro há duas tags <server>. A segunda é a que precisa ser alterada.
É possível adicionar mais instâncias na mesma instalação. Basta replicar toda a seção "<server>" e tomar o cuidado de alterar pelo menos os atributos "port-offset" e "name".
Abra em um editor de texto o arquivo FLUIG_HOME/appserver/domain/configuration/host.xml. Procure pela tag <servers>, dentro há as tags <server>. Altere o atributo "name" dessas tags. O valor desse atributo precisa ser diferente em cada instância.
O fluig utiliza o módulo mod_cluster (juntamente com o mod_proxy) para fazer um correto balanceamento de carga e tolerância a falha. Recomenda-se a utilização da versão disponibilizada aqui.
Habilite o mod_cluster (comumente feito criando o arquivo /etc/apache2/sites-enabled/mod_cluster.conf). O exemplo a seguir cria um cluster chamado "fluig" e sobe o cluster manager na porta 10001, contexto /mcm. Acesse a URL <SERVIDOR>:10001/mcm para consultar o status do cluster.
<IfModule manager_module> Listen 10001 ManagerBalancerName fluig <VirtualHost *:10001> <Location /> Require all granted </Location> KeepAliveTimeout 300 MaxKeepAliveRequests 0 AdvertiseFrequency 5 AdvertiseGroup 224.0.1.105:23364 ServerAdvertise On #AdvertiseSecurityKey secret EnableMCPMReceive AllowDisplay On <Location /mcm> SetHandler mod_cluster-manager Require all granted </Location> </VirtualHost> </IfModule> |
Configure o Apache para carregar os módulos necessários (comumente feito através do arquivo /etc/apache2/mods-enabled/mod_cluster.load), conforme abaixo (Obs.: a ordem é extremamente importante):
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so LoadModule cluster_slotmem_module /usr/lib/apache2/modules/mod_cluster_slotmem.so LoadModule proxy_cluster_module /usr/lib/apache2/modules/mod_proxy_cluster.so LoadModule advertise_module /usr/lib/apache2/modules/mod_advertise.so LoadModule manager_module /usr/lib/apache2/modules/mod_manager.so LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so |
sadasd
Abra o arquivo httpd.conf e adicione o seguinte código:
Header add Set-Cookie "FLUIGCOOKIE=%{UNIQUE_ID}e.%{BALANCER_WORKER_ROUTE}e; path=/" env=!VARCOOKIE <Proxy balancer://mycluster> Order deny,allow Allow from all BalancerMember http://{ip-servidor-1}:8180 route=node1 BalancerMember http://{ip-servidor-1}:8280 route=node2 BalancerMember http://{ip-servidor-2}:8080 route=node3 ProxySet stickysession=FLUIGCOOKIE </Proxy> <VirtualHost *:80> ProxyPreserveHost On ProxyPass / balancer://mycluster/ stickysession=FLUIGCOOKIE nofailover=Off DocumentRoot /var/www <Directory /var/www> Options -Indexes Order allow,deny Allow from all </Directory> </VirtualHost> |
O que é importante entender aqui:
Altere a tag abaixo no arquivo $FLUIG_HOME/jboss/standalone/configuration/standalone.xml de cada servidor do Fluig para: <subsystem xmlns="urn:jboss:domain:web:1.5" default-virtual-server="default-host" instance-id="${jboss.node.name:fluignd2}" native="false"> Onde:
|
猼慰瑳汹㵥昢湯慦業祬洺湯獯慰散㸢猼慰瑳汹㵥挢汯牯⌺〰〰〰戻捡杫潲湵ⵤ潣潬㩲昣晦晦㭦㸢灡獰牥敶㱲猯慰㹮戼㹲⼼灳湡