Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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 fluig | ESB configurados para receber a distribuição de carga de um servidor TOTVS 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.

...

 

...

effectDuration0.5
historyfalse
idsamples
effectTypefade

Descrição do cenário

O cenário apresenta 03 instâncias do fluig | ESB Server configuradas para trabalhar de forma independente. Todas as instâncias do fluig | ESB Server são configurados 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 02 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.


TOTVS | ESB Server – Nomenclatura das instâncias

  • MAQUINA LOAD BALANCING: TOTVS | ESB Server Cluster Master 1
  • MAQUINA 1: TOTVS | ESB Server Node 1
  • MAQUINA 2: TOTVS | ESB Server Node 2
  • MAQUINA 3: TOTVS | ESB Server Node 3

 

Configuração das instâncias fluig | ESB

 

TOTVS | ESB Server Nodes

Para configurar as 04 máquinas com o fluig | ESB Server, siga os passos descritos no Capítulo 3 (página 7) até o item 7 (para cada instância do fluig | ESB).

Atenção: 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 03 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:

Image Added


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
effectDuration0.5
historyfalse
idsamples
effectTypefade
Card
id1
labelPasso 1

 

Acesse a aba “Cluster Configuration”;

 

Card
id2
labelPasso 2

 

Na opção “Cluster Name”, informe o nome da máquina na caixa de texto “Name”. Digite “ESBClusterMaster1”;

 

Card
id3
labelPasso 3

 

Habilite a opção “Enable Load Balancing”;

 

Card
id4
labelPasso 4
 

Selecione a política desejada:

  • Round Robin (padrão) ou
  • Weighted Round Robin

 

Card
id5
labelPasso 5

 

Vamos configurar a opção Weighted Round Robin. Vamos informar que a maquina 1 irá receber uma rajada de 1 mensagem, a maquina 2 uma rajada de 4 mensagens e o servidor 3 uma rajada de 8 mensagens.

 

Card
id6
labelPasso 6

 

Para isso, informe o seguinte valor no campo “Distribution Ratio”: 1:4:8

Image Added

 

Card
id7
labelPasso 7

 

Salve a configuração e reinicie o fluig | ESB Cluster Master (proxy)

 

Card
id8
labelPasso 8

 

O console do fluig | ESB Server deve apresentar o resultado conforme a imagem abaixo:

Image Added

 


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 dos itens 1 a 12 a partir da página 12.

 

Siga os passos abaixo para criar o diagrama que deve executar na máquina fluig | ESB Server Master:

Deck of Cards
effectDuration0.5
historyfalse
idsamples
effectTypefade
Card
id1
labelPasso 1

 

Conforme descrito no item 4 da página 14, crire um novo diagrama do fluig | ESB com o nome “LoadBalancingDiagram.esb”


Card
id2
labelPasso 2

 

 Configure o diagrama conforme o exemplo abaixo: (01 FileReceiver enviando para 03 WSSenders)

Image Added


Card
id3
labelPasso 3

 

Configure as propriedades do componente FileReceiver conforme o exemplo abaixo:

Image Added

 

Card
id4
labelPasso 4

 

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 maquina 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:

Image Added

 

Card
id5
labelPasso 5

 

Efetue a mesma configuração para os componentes WSSenderMaquina2 e WSSenderMaquina3 levendo 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
id6
labelPasso 6

 

Salve o diagrama clicando em um dos botões “Save” ou “Save All”

Image Added

 

Card
id7
labelPasso 7

 

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 reinicar 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:

  • Maquina 1 – receberá 1 arquivo
  • Maquina 2 – receberá 4 arquivos
  • Maquina 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á:

  • Maquina 1 – receberá 5 arquivos
  • Maquina 2 – receberá 4 arquivos
  • Maquina 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.


Observaçõ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 webservices 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 qualquer 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 de dos fluig | ESB Server Nodes (maquinas 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.

 

Card
id4
labelPasso 4
 
Card
id4
labelPasso 4
 
Card
id4
labelPasso 4
 
Card
id4
labelPasso 4
 
Card
id4
labelPasso 4
 
Card
id4
labelPasso 4
 
Card
id4
labelPasso 4
 
Card
id4
labelPasso 4
 
Card
id4
labelPasso 4
 
Card
id4
labelPasso 4
 
Card
id4
labelPasso 4
 

...