Histórico da Página
| 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 | ||||||||
|---|---|---|---|---|---|---|---|---|
|
Prefácio
...
Objetivo
Finalidade
...
Este guia tem como finalidade, descrever de forma objetiva, passo a passo, todos os procedimentos necessários para a configuração do produto fluig | Fluig ESB para suportar alta diponibilidade e balanceamento de carga.
Público
...
alvo
...
A configuração de alta disponibilidade e balanceamento de carga devemser devem ser realizada por profissionais com experiência em instalação de aplicativos e com conhecimentos de ambiente de rede.
Servidor fluig | ESB
- Para o servidor fluig | ESB os seguintes requisitos são necessários:
- Servidor Windows (Server 2003, Server 2008, XP, Vista e Seven) ou Linux Ubuntu;
- Configuração típica: Processador Dual Core, 2 GHz ou superior, 1 GB de RAM, 500 MB de disco;
- Arquitetura: 32 ou 64 bits.
Banco de Dados
O Banco de dados deve ser instalado no servidor, a escolha e adoção de qual banco de dados utilizar é uma opção do cliente. O servidor de aplicação oferece suporte a praticamente qualquer banco de dados que seja compatível com a especificação JDBC. Entretanto, os bancos de dados homologados para fluig | ESB são:
- Microsoft SQL Server 2000, 2005, 2008 – www.microsoft.com
- MySQL – www.mysql.org
- Oracle – www.oracle.com
A documentação para a instalação e administração do banco de dados pode ser encontrada no site de cada um dos respectivos fornecedores. O banco de dados do fluig | ESB será criado automaticamente pelo servidor de aplicação, logo não é necessário nenhum procedimento para a criação das tabelas e campos do banco de dados. O servidor de aplicação vai atualizar a base automaticamente na primeira execução da aplicação, sendo necessário apenas que o banco já esteja criado e disponível para acesso.
Pré-Requisitos
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 | 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.
Este documento não cobre o procedimento de instalação e configuração do fluig | Fluig ESB Server. Para obter mais detalhes sobre a instalação do produto, verifique o documento “Guia de Instalacao fluig ESB.pdf” disponível junto com a mídia de instalação do fluig | ESB Server Guia de instalação Fluig ESB.
É obrigatório obrigatória a sincronização dos relógios em todos os servidores que utilizem o fluig | 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 | Fluig ESB Server deve possuir uma licença disponível no fluig | Licence 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 | 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 cojunto conjunto com o fluig | Fluig ESB Plugin (versão 12.x ou superior) instalado.
O TOTVS | Developer Studio é utilizado para a criação dos mapas de integração que serão executados nos fluig | Fluig ESB Servers configurados em Cluster bem como realizar a configuração dos fluig | Fluig ESB Server Cluster Nodes.
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 | Fluig ESB Server. (vide documentação do banco de dados utilizado).
Alta Disponibilidade
...
Cenário 1 - Alta Disponibilidade
...
...
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 03 três instâncias do fluig | Fluig ESB Server configuradas para trabalhar de forma sincronizada formando assim um só fluig | Fluig ESB Server Virtual. Todas as instâncias do fluig | Fluig ESB Server são configurados para compartilhar o mesmo banco de dados. O Monitoramento das mensagens poderá ser realizada realizado utilizando o fluig | Fluig ESB Monitor, acessível a partir de qualquer uma das instâncias do cluster fluig | Fluig ESB Server.
...
Fluig ESB Server – Nomenclatura das instâncias
...
MÁQUINA 1:
...
Fluig ESB Server Cluster Node 1
...
MÁQUINA 2:
...
Fluig ESB Server Cluster Node 2
...
MÁQUINA 3:
...
Fluig ESB Server Cluster Node 3
Configuração das
...
instâncias Fluig ESB
...
Fluig ESB Server Cluster Nodes
| Deck of Cards | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
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.
Para criar um novo diagrama vamos utilizar o TOTVS | Developer Studio com o plugin do Fluig ESB.
| Deck of Cards | ||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||
Card | | |||||||||||||||||||||||||||||||||||||||||||||
|
| Card | ||||
|---|---|---|---|---|
| ||||
|
...
|
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.
O SoapUI possui uma versão open source e pode ser baixado através do endereço http://www.soapui.org/.
Baixe e instale o SoapUI.
Antes de criarmos um projeto de testes no SoapUI, precisamos obter o endereço WSDL dos serviços Web do Fluig ESB. Para isso, acesse a URL abaixo através de qualquer navegador de internet:
http://[ip-do-servidor]:[porta]/ws, onde:
ip-do-servidor = endereço IP da máquina 1
porta = 8085 – porta padrão do serviço web
| Deck of Cards | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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.
Componentes “Receiver” ativos são aqueles que possuem a capacidade de trabalhar buscando mensagens de repositórios através de agendamento pela opção “Interval”.
Contudo, é necessário que o intervalo de agendamento na opção “Interval” seja “diferenciado” entre os Receivers das máquinas que trabalham em alta disponibilidade.
Isso significa que o mesmo diagrama deve executar em todos os nós do cluster, mas o intervalo de pooling deve ser diferente entre eles.
Para isso, o diagrama pode ser replicado no TOTVS | Developer Studio para cada máquina, onde a única diferença é o intervalo de leitura do componente Receiver do tipo ativo. Basta copiar e colar o projeto .esb original informando um novo nome na aba “ESB Navigator”.
Para o exemplo em questão, os diagramas ficariam dispostos conforme a imagem abaixo no TOTVS | Developer Studio:
Segue abaixo a lista de componentes do tipo Receiver do Fluig ESB “Ativos”, indicados para trabalhar com cluster de Alta Disponibilidade:
- FILEReceiver
- FTPReceiver
- MAILReceiver
- JMSReceiver
- HTTPReceiver
- TOTVSReceiver (somente DATASULReceiver)
Para utilizar diagramas em cluster de alta disponibilidade que utilizem componentes Receiver do tipo passivo, é recomendado utilizar a configuração de cluster de Load Balancing (balanceamento de carga), onde é adicionado mais um Fluig ESB Server Cluster Proxy para redirecionar o processamento das mensagens para os componentes Receivers do tipo passivo.
Esta configuração é exemplificada no próximo capítulo.
Balanceamento de Carga
...
Cenário 2 - Balanceamento de carga
Definiçã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:
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.
2. WEIGHTED ROUND ROBIN
Política utilizada quando a capacidade de processamento das máquinas que receberão a distribuição de carga é conhecida e diferente. Isso significa que o Fluig ESB Cluster Master poderá enviar cargas diferenciadas de acordo com o servidor de destino. Com esta política habilitada, o Fluig ESB Cluster Master poderá ser configurado para enviar rajadas de requisições diferenciadas entre os demais Fluig ESB Servers de destino.
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 1: TOTVS | ESB Server Node 1
- MÁQUINA 2: TOTVS | ESB Server Node 2
- 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.
| Nota | ||
|---|---|---|
| ||
Ao configurar o novo servidor na view “Servers” para o Cluster Master (Proxy de balanceamento de carga), informe na propriedade “Server Name” o valor “Maquina Cluster Master (Proxy)”. |
Não é necessário configurar as três instâncias como federação de cluster de alta disponibilidade. Após o processo de criação dos servidores no TOTVS | Developer Studio, a view “Servers” deverá estar conforme a imagem abaixo:
Para configurar a máquina Fluig ESB Server (Maquina Cluster Master) que irá trabalhar como Proxy de balanceamento de carga, siga os passos adicionais abaixo:
| Deck of Cards | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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.
Cada máquina contendo uma instância do Fluig ESB Server pode conter diagramas diferenciados, mas para efeitos didáticos assumiremos que todas as máquinas irão executar o mesmo diagrama.
Somente a instância do Fluig ESB Server configurado como cluster master em balanceamento de carga irá executar um diagrama diferente, com o objetivo de distribuir a carga entre os demais Fluig ESB Servers.
Para confeccionar os diagramas das 03 máquinas que executam o Fluig ESB Server, execute os passos 1 a 12 a partir do item 6.1 (Criação dos diagramas).
Siga os passos abaixo para criar o diagrama que deve executar na máquina Fluig ESB Server Master:
| Deck of Cards | |||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||
|
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.
O Fluig ESB Cluster Master (Proxy) deverá distribuir a carga da seguinte maneira:
- Máquina 1 – receberá 1 arquivo
- Máquina 2 – receberá 4 arquivos
- Máquina 3 – receberá 8 arquivos
Caso deseje alterar a política de distribuição da configuração de balanceamento de carga para ROUND ROBIN, efetue a alteração na configuração da instância Fluig ESB de proxy, salve e reinicie o servidor Fluig ESB Cluster Master (Proxy).
Ao postar novamente 13 arquivos no diretório C:\TEMP\RESOURCES, o resultado será:
- Máquina 1 – receberá 5 arquivos
- Máquina 2 – receberá 4 arquivos
- Máquina 3 – receberá 4 arquivos
Sendo que a máquina 1 receberá o 1º e o último arquivo da instância Fluig ESB configurada como proxy 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
Quando configurado como Cluster de balanceamento de carga, o Fluig ESB irá trabalhar com quaisquer tipo de componentes.
Na configuração de balanceamento de carga, podemos ter diagramas diferentes, cada um executando em um Nodo respectivo. Isso é possível, pois ficará a cargo do Fluig ESB Cluster Master1 redirecionar a carga para cada instância dos Fluig ESB Server Nodes (máquinas 1, 2 e 3).
É 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.










