Índice
| Índice |
|---|
| maxLevel | 4 |
|---|
| outline | true |
|---|
| exclude | .*ndice |
|---|
| style | none |
|---|
|
Prefácio
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 | ESB para suportar alta diponibilidade e balanceamento de carga.
...
A configuração de alta disponibilidade e balanceamento de carga devemser 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
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
fluig | ESB Server
...
É obrigatório 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 | Licence Server
Cada instância do fluig | ESB Server deve possuir uma licença disponível no fluig | Licence Server para sua correta execução e inicialização.
...
O TOTVS | Developer Studio é utilizado para a criação dos mapas de integração que serão executados nos fluig | ESB Servers configurados em Cluster bem como realizar a configuração dos 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.
...
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.
...
O cenário apresenta 03 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 realizada 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
MAQUINA 1: TOTVS | ESB Server Cluster Node 1
MAQUINA 2: TOTVS | ESB Server Cluster Node 2
MAQUINA 3: TOTVS | ESB Server Cluster Node 3
Configuração das instancias 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 isntâncias do fluig | ESB Server Cluster Node das máquinas 1, 2 e 3; |
| Card |
|---|
| Abra o fluig | Developer Studio e acesse a perspectiva “TOTVS Servers”; Image Modified
|
| Card |
|---|
| Na view “Server Extension”, 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; Image Modified
Image Modified
|
| 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 TOTVS ESB ESB Server. Image Modified
|
| Card |
|---|
| default | true |
|---|
| id | 5 |
|---|
| label | Passo 5 |
|---|
| Informe na opção “Server Name” 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. Image Modified
|
| Card |
|---|
| default | true |
|---|
| id | 6 |
|---|
| label | Passo 6 |
|---|
| Abra o arquivo de confguração da máquina 1, efetuando um duplo clique sobre o seu nome na view “Server Extension”. Image Modified
|
| 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 TOTVS fluig | ESB Server. Image Modified
|
| 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. Image Added
|
| 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: Image Added
|
| 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. |
| Card |
|---|
| | Nota |
|---|
| No passo 15, 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 instancias 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 |
|---|
| effectDuration | 0.5 |
|---|
| history | false |
|---|
| id | samples |
|---|
| effectType | fade |
|---|
|
| Card |
|---|
| Abra o TOTVS | Developer Studio e acesse a perspectiva “fluig ESB”; Image Added
|
| 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. Image Added
|
| 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. Image Added
|
| 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. Image Added
Image Added
|
| Card |
|---|
| Crie um diagrama WSChannelReceiver FileSender conforme o exemplo abaixo: Image Added
|
| Card |
|---|
| Configure as propriedades do componente WSChannelReceiver conforme o exemplo abaixo: Image Added
|
| 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. Image Added
|
| Card |
|---|
| Salve o diagrama clicando sobre o botão “Salvar” ou “Salvar todos”.
Image Added
|
| 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...”. Image Added
|
| 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...”. Image Added
|
| Card |
|---|
| Repita o processo de deploy a partir do passo 9 para as máquinas 2 e 3. |
| Card |
|---|
| Reinicie as 03 máquinas. O fluig | ESB configurado para alta disponibilidade estárá funcinando. |
|
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 webservice 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 ter 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 maquina 1
porta = 8085 – porta padrão do serviço web
| Deck of Cards |
|---|
| effectDuration | 0.5 |
|---|
| history | false |
|---|
| id | samples |
|---|
| effectType | fade |
|---|
|
| Card |
|---|
default | true |
|---|
| | Exemplo | Tabela |
|---|
| Dados | Dados | | Dados | Dados | | Dados | Dados |
Em nosso exemplo vamos acessar a URL: http://10.80.69.173:8085/ws/. A página abaixo deve ser exibida, e o link selecionado deve ser acessado para exibir o WSDL dos serviços do fluig | ESB. Image Added
|
| 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: Image Added
|
| 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. Image Added
|
| 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. Image Added
|
| 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”. Image Added
|
| Card |
|---|
| Será aberta uma janela para iniciar um teste de requisição ao serviço “sendMessage” do fluig | ESB, conforme apresenta a imagem abaixo: Image Added
|
| Card |
|---|
| Altere o envelope SOAP da requisição para que envie a mensagem “Mensagem Teste ao fluig | 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: Image Added
|
| Card |
|---|
| O ESB deve responder conforme as imagens abaixo: Image Added
|
| 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 |
|---|
| Um espaço anterior, + um marcado, + um epaço ao final. |
| 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 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.
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 compoenete 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 imangem abaixo no TOTVS | Developer Studio:
Image Added
Segue abaixo a lista de componentes do tipo Receiver do fluig | ESB “Ativos”, indicados para trabalhar com cluster de Alta Disponibilidade:
- 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 e 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
Image Added
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 TOTVS | ESB configurados para receber a distribuição de carga de um servidor TOTVS | 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.
| Deck of Cards |
|---|
| effectDuration | 0.5 |
|---|
| history | false |
|---|
| id | samples |
|---|
| effectType | fade |
|---|
|
| Card |
|---|
| | Image Removed Figura X - Exemplo de Figuara e legenda (centralizados). |
| Card |
|---|
| - Um espaço anterior, + um marcado, + um espaço ao final.
|
|
...