...
| Índice |
|---|
| maxLevel | 4 |
|---|
| outline | true |
|---|
| exclude | .*ndice |
|---|
| style | none |
|---|
|
Objetivo
...
Este guia tem como finalidade, descrever de forma objetiva, passo a passo, todos os procedimentos necessários para a configuração do produto fluig ESB para suportar alta diponibilidade e balanceamento de carga.
Público alvo
...
A configuração de alta disponibilidade e balanceamento de carga devem ser realizada por profissionais com experiência em instalação de aplicativos e com conhecimentos de ambiente de rede.
Pré-requisitos
...
Antes da instalação consulte as documentações de dimensionamento e configuração de banco de dados para garantir que o ambiente onde o fluig ESB será instalado está homologado.
...
| Deck of Cards |
|---|
| effectDuration | 0.5 |
|---|
| history | false |
|---|
| id | samples |
|---|
| effectType | fade |
|---|
|
| Card |
|---|
| default | true |
|---|
| id | 1 |
|---|
| label | Passo 1 |
|---|
| |
Inicie as instâncias do fluig ESB Server Cluster Node das máquinas 1, 2 e 3;
|
| Card |
|---|
|
Abra o TOTVS Developer Studio e acesse a perspectiva “TOTVS ESB”;


|
| Card |
|---|
| |
Na view “ESB Servers”, efetue um clique com o botão direito do mouse e selecione a opção “Novo grupo de Servidores” para configurar um novo grupo de servidores chamado fluig ESB Cluster;


|
| Card |
|---|
|
Configure o acesso ao servidor da máquina 1. Para isso efetue um clique com o botão direito do mouse sobre o grupo de servidor “fluig ESB Cluster” e selecione a opção ESB → ESB Server.
|
| Card |
|---|
| default | true |
|---|
| id | 5 |
|---|
| label | Passo 5 |
|---|
|
Informe na opção “Nome Servidor” o valor Maquina 1, e em “Host” e “Port” o IP e a porta em que está executando o fluig ESB. Clique no botão “Finish” para confirmar.
|
| Card |
|---|
| default | true |
|---|
| id | 6 |
|---|
| label | Passo 6 |
|---|
| |
Abra o arquivo de configuração da máquina 1, efetuando um duplo clique sobre o seu nome na view “ESB Servers”. 
|
| Card |
|---|
| default | true |
|---|
| id | 7 |
|---|
| label | Passo 7 |
|---|
| |
Configure o banco de dados do fluig ESB Server da máquina 1 para utilizar o banco de dados que será compartilhado por todas as instâncias fluig ESB Server. Neste exemplo utilizaremos um banco de dados MySQL Server 5.5, com acesso ao schema “esbcluster”. A configuração é feita acessando a aba “Database Configuration” na configuração fluig ESB Server. 
|
| Card |
|---|
| default | true |
|---|
| id | 8 |
|---|
| label | Passo 8 |
|---|
| |
Acesse a aba “Cluster Configuration”;
|
| Card |
|---|
| default | true |
|---|
| id | 9 |
|---|
| label | Passo 9 |
|---|
|
Na opção “Cluster Name”, informe o nome da máquina na caixa de texto “Name”. Digite “ESBClusterNode1”;
|
| Card |
|---|
| default | true |
|---|
| id | 10 |
|---|
| label | Passo 10 |
|---|
| |
Habilite a opção “Enable High-Avaliability”;
|
| Card |
|---|
| default | true |
|---|
| id | 11 |
|---|
| label | Passo 11 |
|---|
|
Alimente a tabela “Cluster Nodes HA” com os endereços IP e Porta dos respectivos fluig ESB Servers 2 e 3. 
|
| Card |
|---|
| default | true |
|---|
| id | 12 |
|---|
| label | Passo 12 |
|---|
| |
Clique no botão “Salvar” para confirmar as configurações.
|
| Card |
|---|
| default | true |
|---|
| id | 13 |
|---|
| label | Passo 13 |
|---|
|
O console do fluig ESB Server deve apresentar o resultado conforme a imagem abaixo: 
|
| Card |
|---|
| default | true |
|---|
| id | 14 |
|---|
| label | Passo 14 |
|---|
|
Reinicie o fluig ESB Server Cluster Node da máquina 1.
|
| Card |
|---|
| default | true |
|---|
| id | 15 |
|---|
| label | Passo 15 |
|---|
|
Repita os passos a partir do item 4 para configurar os servidores 2 e 3.
| Nota |
|---|
| Quando chegar o momento de configurar o item 9 novamente para os servidores 2 e 3, tome o cuidado de: As referências a configuração da “maquina 1” devem ser entendidas como “maquina 2” quando estiver configurando a máquina 2. As referências a configuração da “maquina 1” devem ser entendidas como “maquina 3” quando estiver configurando a máquina 3. Na opção “Name” do Custer Name, informe ESBClusterNode2 e ESBClusterNode3 para os servidores das máquinas 2 e 3 respectivamente. No servidor ESBClusterNode2, informar os endereços IP e porta dos servidores 1 e 3 No servidor ESBClusterNode3, informar os endereços IP e porta dos servidores 1 e 2.
|
|
|
...
| Deck of Cards |
|---|
| effectDuration | 0.5 |
|---|
| history | false |
|---|
| id | samples |
|---|
| effectType | fade |
|---|
|
| Card |
|---|
| |
Abra o TOTVS | Developer Studio e acesse a perspectiva “fluig ESB”;

|
| Card |
|---|
|
Na view “ESB Navigator”, efetue um clique com o botão direito do mouse e selecione a opção “New → ESB Project” para criar um novo projeto de diagramas do fluig ESB. 
|
| Card |
|---|
| |
Na view “ESB Navigator”, efetue um clique com o botão direito do mouse e selecione a opção “New → ESB Project” para criar um novo projeto de diagramas do fluig ESB. Clique em “Finish” após informar o nome do projeto, seu título e uma descrição. 
|
| Card |
|---|
|
Na view “ESB Navigator”, efetue um clique com o botão direito do mouse sobre o projeto “ESBCluster” e selecione a opção “New → ESB Diagram” para criar um novo diagrama do fluig ESB. Clique em “Finish” após informar o nome do diagrama.
 |
| Card |
|---|
| |
Crie um diagrama WSChannelReceiver → FileSender conforme o exemplo abaixo: 
|
| Card |
|---|
| |
Configure as propriedades do componente WSChannelReceiver conforme o exemplo abaixo: 
|
| Card |
|---|
| |
Configure as propriedades do componente FileReceiver conforme o exemplo abaixo. É importante ressaltar que a propriedade “Directory” deve apontar para um diretório de rede ou storage. 
|
| Card |
|---|
| |
Salve o diagrama clicando sobre o botão “Salvar” ou “Salvar todos”. 
|
| Card |
|---|
| |
Efetue o “deploy” do diagrama para o servidor da máquina 1, clicando com o botão direito do mouse sobre o diagrama aberto, e selecionando a opção “Deploy to ESB Server...”.
|
| Card |
|---|
|
Efetue o “deploy” do diagrama para o servidor da máquina 1, clicando com o botão direito do mouse sobre o diagrama aberto, e selecionando a opção “Deploy to ESB Server...”.
|
| Card |
|---|
|
Repita o processo de deploy a partir do passo 9 para as máquinas 2 e 3.
|
| Card |
|---|
| |
Reinicie os serviços do ESB nas três máquinas. O fluig ESB configurado para alta disponibilidade estará funcionando.
|
|
Considerações sobre o ambiente de alta disponibilidade
...
| Deck of Cards |
|---|
| effectDuration | 0.5 |
|---|
| history | false |
|---|
| id | samples |
|---|
| effectType | fade |
|---|
|
| Card |
|---|
| |
Em nosso exemplo vamos acessar a URL: http://10.80.69.173:8085/ws/. A página abaixo deve ser carregada, e o link selecionado deve ser acessado para exibir o WSDL dos serviços do fluig ESB. 
|
| Card |
|---|
|
De posse do endereço do WSDL dos serviços do fluig ESB, execute o SoapUI, e crie um novo projeto clicando no menu File → New soapUI Project, conforme a figura abaixo:
|
| Card |
|---|
|
Na opção “Project Name” informe: Teste Maquina 1 Na opção “Initial WSDL/WADL” informe o endereço WSDL dos serviços do fluig ESB. Clique no botão “OK” para confirmar a criação do projeto.
|
| Card |
|---|
| |
Repita o processo de criação para os endereços das máquinas 2 e 3 a partir do passo 4, bastando somente modificar o endereço IP da respectiva máquina durante a criação do projeto no SoapUI.
|
| Card |
|---|
|
Após o passo 5, o SoapUI deve conter 03 projetos para podermos enviar mensagens para cada um dos nós do cluster.
|
| Card |
|---|
|
Para enviar uma mensagem de teste ao fluig ESB Server da máquina 1, abra o projeto “Teste Maquina1”, expanda o método “sendMessage” e efetue um duplo clique no “Request 1”.
|
| Card |
|---|
| |
Será aberta uma janela para iniciar um teste de requisição ao serviço “sendMessage” do fluig ESB, conforme apresenta a imagem abaixo: 
|
| Card |
|---|
| |
Altere o envelope SOAP da requisição para que envie a mensagem “Mensagem Teste ao TOTVS | ESB Cluster” para o componente WSChannelSender. Para isso altere o conteúdo dos elementos <message/> e <queue/>, e clique no botão “Submit request to specified endpoint URL” conforme a imagem abaixo: 
|
| Card |
|---|
| |
O ESB deve responder conforme as imagens abaixo:
|
| Card |
|---|
|
Acesse o diretório y:\temp\resources confira que um arquivo foi adicionado com o conteúdo “Mensagem Teste ao TOTVS | ESB Cluster”.
|
| Card |
|---|
| |
Repita o mesmo processo com os projetos das máquinas 2 e 3 para validar o funcionamento do ambiente de cluster.
|
|
Considerações funcionamento dos componentes do fluig ESB em ambiente de cluster de alta disponibilidade
...
O cenário apresenta três instâncias do fluig ESB Server configuradas para trabalhar de forma independente. Todas as instâncias do fluig ESB Server são configuradas para compartilhar o mesmo banco de dados, e recebem a carga da rede através de um servidor fluig ESB Master (com servidor de banco de dados isolado das demais instâncias), que pode dividir a carga através de dois tipos de políticas:
1. ROUND ROBIN
Política utilizada quando a capacidade de processamento das máquinas que receberão a distribuição de carga é desconhecida. Com esta política habilitada, o fluig ESB Cluster Master dividirá a carga igualmente entre os demais fluig ESB Servers de destino.
...
| Deck of Cards |
|---|
| effectDuration | 0.5 |
|---|
| history | false |
|---|
| id | samples |
|---|
| effectType | fade |
|---|
|
| Card |
|---|
|
Acesse a aba “Cluster Configuration”;
|
| Card |
|---|
| |
Na opção “Cluster Name”, informe o nome da máquina na caixa de texto “Name”. Digite “ESBClusterMaster1”;
|
| Card |
|---|
|
Habilite a opção “Enable Load Balancing”;
|
| Card |
|---|
| |
Selecione a política desejada: - Round Robin (padrão) ou
- Weighted Round Robin
|
| Card |
|---|
|
Vamos configurar a opção Weighted Round Robin. Informaremos que a máquina 1 irá receber uma rajada de 1 mensagem, a máquina 2 uma rajada de 4 mensagens e o servidor 3 uma rajada de 8 mensagens.
|
| Card |
|---|
| |
Para isso, informe o seguinte valor no campo “Distribution Ratio”: 1:4:8
|
| Card |
|---|
| |
Salve a configuração e reinicie o fluig ESB Cluster Master (Proxy)
|
| Card |
|---|
|
O console do fluig ESB Server deve apresentar o resultado conforme a imagem abaixo: 
|
|
Criação e deploy dos diagramas de integração nas instâncias fluig ESB
...
| Deck of Cards |
|---|
| effectDuration | 0.5 |
|---|
| history | false |
|---|
| id | samples |
|---|
| effectType | fade |
|---|
|
| Card |
|---|
| |
Conforme descrito no passo 4 do item 6.1, crie um novo diagrama do fluig ESB com o nome “LoadBalancingDiagram.esb”
|
| Card |
|---|
| |
Configure o diagrama conforme o exemplo abaixo: (01 FileReceiver enviando para 03 WSSenders) 
|
| Card |
|---|
|
Configure as propriedades do componente FileReceiver conforme o exemplo abaixo: 
|
| Card |
|---|
| |
Configure as propriedades do componente WSSenderMaquina1 conforme o exemplo abaixo: a. Na opção “WSDL Path” informe: http://ip_maquina_1:8085/ws/esb/ESBWebService?wsdl (informando o endereço IP da máquina 1 no lugar de “ip_maquina_1”); b. Clique no botão “List Operations” c. No combo “Operation”, selecione a opção “sendMessage” d. Adicione um parâmetro com o nome “message” do tipo “ESBMessage” na coluna “Data Type” e com o campo “value” em vazio e. Adicione mais um parâmetro com o nome “queue” do tipo “Text” contendo o valor “WSChannelReceiver” no campo “value”. f. A configuração deverá ficar conforme a imagem abaixo: 
|
| Card |
|---|
|
Efetue a mesma configuração para os componentes WSSenderMaquina2 e WSSenderMaquina3 levando em consideração somente o endereço IP do campo WSDL Path, que deve apontar para IP correspondente a máquina 2 e a máquina 3.
|
| Card |
|---|
|
Salve o diagrama clicando em um dos botões “Save” ou “Save All”
|
| Card |
|---|
|
Efetue deploy do diagrama para o servidor fluig ESB Cluster Master (Proxy) conforme descrito a partir do item 9 na página 15.
|
|
Considerações sobre o ambiente de balanceamento de carga
...
| Informações |
|---|
|
Não utilizamos o SoapUI nos testes pois a instância fluig ESB configurada para balanceamento de carga faz exatamente a mesma função, enviando via web services o conteúdo dos arquivos TXTs lidos do diretório C:\TEMP\RESOURCES. |
...
Considerações funcionamento dos componentes do fluig ESB em ambiente de cluster de alta disponibilidade
...
É importante lembrar que este capítulo não está configurando as instâncias dos fluig ESB Server Nodes com alta disponibilidade. Caso uma das instâncias venha a ficar indisponível, o processamento dessa instância ficará indisponível até que ela volte a ficar online.