| Informações |
|---|
|
O TOTVS ESB não é mais ofertado por se tratar de uma solução legada. A nova solução para realizar integrações é o TOTVS iPaaS. Saiba mais detalhes aqui. |
Índice
| Índice |
|---|
| 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.
Fluig ESB Server
É obrigatório a utilização da mesma versão do Fluig ESB Server (versão 12.2.x ou superior) em todos os servidores identificados no guia como “ESB Server Cluster Node” ou “ESB Server Cluster Master” para utilização em Alta Disponibilidade e Balanceamento de carga respectivamente.
...
É obrigatória a sincronização dos relógios em todos os servidores que utilizem o Fluig ESB Server em ambiente de Alta disponibilidade. Para isso é recomendado utilizar o protocolo NTP. O guia de instalação e configuração pode ser localizado em: NTP.br. Para redes Windows® também pode ser utilizado o Active Directory®.
TOTVS | License Server
Cada instância do Fluig ESB Server deve possuir uma licença disponível no License Server para sua correta execução e inicialização.
Para que não seja necessário utilizar o servidor de licenças, é obrigatório que os diagramas executados nas instâncias do Fluig ESB Server contenham somente componentes do tipo TOTVSReceiver e TOTVSSender para a troca de mensagens entre soluções TOTVS.
TOTVS | Developer Studio
É obrigatório a utilização do TOTVS | Developer Studio (11.x ou superior) em conjunto com o Fluig ESB Plugin (versão 12.x ou superior) instalado.
...
Este documento não cobre o procedimento de instalação e configuração do TOTVS | Developer Studio. Para obter mais detalhes sobre a instalação do produto, verifique o procedimento de instalação no endereço http://ds.totvs.com.
Banco de Dados
Visando garantir a alta disponibilidade da base de dados, recomenda-se que este também esteja sob um cluster quando utilizado no cenário de alta disponibilidade do Fluig ESB Server. (vide documentação do banco de dados utilizado).
Alta Disponibilidade
...
Cenário 1 - Alta Disponibilidade
Image Modified
Definição
Um sistema de alta disponibilidade é um sistema resistente a falhas de software e energia, cujo principal objetivo é manter os serviços online o máximo de tempo possível.
Descrição do cenário
O cenário apresenta três instâncias do Fluig ESB Server configuradas para trabalhar de forma sincronizada formando assim um só Fluig ESB Server Virtual. Todas as instâncias do Fluig ESB Server são configurados para compartilhar o mesmo banco de dados. O Monitoramento das mensagens poderá ser realizado utilizando o Fluig ESB Monitor, acessível a partir de qualquer uma das instâncias do cluster Fluig ESB Server.
Fluig ESB Server – Nomenclatura das instâncias
MÁQUINA 1: Fluig ESB Server Cluster Node 1
...
MÁQUINA 3: Fluig ESB Server Cluster Node 3
Configuração das instâncias Fluig ESB
...
Fluig ESB Server Cluster Nodes
| 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.
|
|
|
Criação e deploy dos diagramas de integração nas instâncias Fluig ESB
...
Criação dos diagramas
Para que o Fluig ESB funcione corretamente com a configuração em cluster de alta disponibilidade, é necessário que o mesmo diagrama execute simultaneamente nas instâncias do cluster para que ocorra o resultado esperado. Dessa maneira, quando algum das máquinas que faz parte do cluster venha a ficar indisponível, o diagrama continuará a ser executado pelos demais nós do cluster.
...
| 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
...
Teste de execução
Para testar o funcionamento do Fluig ESB em alta disponibilidade, utilize o aplicativo SoapUI para gerar um cliente web service que envie mensagens para os nodos do ESB.
...
| 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
Quando configurado como Cluster de alta disponibilidade, o Fluig ESB irá trabalhar melhor com componentes do tipo “Receiver” que sejam considerados “Ativos” caso o cenário de integração deva ter somente um ponto de entrada centralizado. Com isso, o Fluig ESB é capaz de realizar a leitura de um único repositório de entrada para processar as mensagens.
...
Esta configuração é exemplificada no próximo capítulo.
Balanceamento de Carga
...
Cenário 2 - Balanceamento de carga
Image ModifiedDefinição
Esse tipo de cluster tem como função controlar a distribuição equilibrada do processamento. Requer um monitoramento constante na sua comunicação e em seus mecanismos de redundância, pois se ocorrer alguma falha, haverá uma interrupção no seu funcionamento. É composto por um conjunto de servidores Fluig ESB configurados para receber a distribuição de carga de um servidor Fluig ESB Master, permitindo ao máximo a divisão da carga do ambiente para o usuário através de políticas de balanceamento de carga.
Descrição do cenário
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:
...
O monitoramento das mensagens poderá ser realizada utilizando o Fluig ESB Monitor acessível a partir de qualquer uma das instâncias do Fluig ESB Server.
Fluig ESB Server – Nomenclatura das instâncias
- MÁQUINA LOAD BALANCING: TOTVS | ESB Server Cluster Master 1
...
- MÁQUINA 3: TOTVS | ESB Server Node 3
Configuração das instâncias Fluig ESB
...
Fluig ESB Server Nodes
Para configurar as quatro máquinas com o Fluig ESB Server, siga os passos descritos no item 4.4 até o passo 7 para cada uma das instâncias do Fluig ESB.
...
| 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
...
Criação dos diagramas
Para que o Fluig ESB funcione corretamente com a configuração em cluster de balanceamento de carga, não é necessário que o mesmo diagrama execute simultaneamente nas instâncias do cluster para que ocorra o resultado esperado.
...
| 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
...
Teste de execução
Para testar o funcionamento do Fluig ESB em balanceamento de carga, basta reiniciar todas instâncias do Fluig ESB, e disponibilizar 13 arquivos texto no diretório C:\TEMP\RESOURCES.
...
| 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
Quando configurado como Cluster de balanceamento de carga, o Fluig ESB irá trabalhar com quaisquer tipo de componentes.
...