...
Linha de Produto: | RM |
Situação/Requisito: | Implementar método de subida dos Consumers AMQP, conforme discutido em grooming e descrito no documento (DEAI1-2476 - Arquitetura AMQP). |
Tickets relacionados: | DEAI1-2537 |
Índice |
---|
Elaborar o documento técnico que orientará a implementação do canal de comunicação AMQP no EAI 2.0.
A primeira versão do documento técnico foi desenvolvido considerando o escopo e restrições listados abaixo.
A parametrização do tipo de canal de envio será realizada a partir do cadastro de aplicativos no EAI 2.0
A parametrização da fila de recebimento será realizada a partir da conjunção do produto (RM) com o source application interno da configuração do EAI 2.0 no formato ([ProdutoSourceApplication]@[SourceApplicationProduto])
A parametrização de subida dos consumidores da fila de recebimento AMQP será realizada a partir do arquivo de configuração do servidor de aplicação RM.Host e será dado através dos parâmetros citados abaixo
...
.
Somente serão instanciados Consumers em RM.Hosts que possuam o parâmetro AMQPConsumerServiceEnabled ativo e que tenham integrações ativas com o canal de comunicação AQMP.
Bloco de código | ||
---|---|---|
| ||
<?xml version="1.0"?> <configuration> <appSettings> <add key="AMQPServerAMQPConsumerServiceEnabled" value="true" /> </appSettings> </configuration> |
Indica se o servidor serviço que instancia os consumidores de fila do canal de comunicação AMQP será habilitado na subida do servidor de aplicação.no EAI
Parâmetro do tipo lógico com valor padrão definido como falso.
...
Bloco de código | ||
---|---|---|
| ||
<?xml version="1.0"?> <configuration> <appSettings> <add key="AMQPServerThreadsAMQPConsumerServiceThreads" value="3" /> </appSettings> </configuration> |
Indica a quantidade de threads que serão criadas para o consumo da fila de recebimento.de consumidores de fila do canal de comunicação AMQP que serão instanciadas na subida do Host
Parâmetro do tipo inteiro com valor padrão definido como 1.
...
Bloco de código | ||
---|---|---|
| ||
<?xml version="1.0"?> <configuration> <appSettings> <add key="AMQPServerPoolingIntervalAMQPConsumerServiceHealthCheckInterval" value="1015" /> </appSettings> </configuration> |
Indica o período intervalo de tempo (em minutos o qual o servidor AMQP irá realizar a verificação da saúde da conexão dos consumidores de fila e definidos na configuração do canal ) em que o serviço que instancia os consumidores de fila do canal de comunicação AMQP realizará a verificação de saúde dos canais e caso seja necessário recria as instâncias dos consumidores com suas devidas conexões para que minimizemos o período de perda de conexão.
Parâmetro do tipo inteiro com valor padrão definido como 10.
Bloco de código | ||
---|---|---|
| ||
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="AMQPConsumerServicePrefetch" value="1" />
</appSettings>
</configuration> |
Indica a quantidade de mensagens que os consumidores de fila do canal de comunicação AMQP irão obter da fila de recebimento.
Parâmetro do tipo inteiro com valor padrão definido como 1.
O controle de autenticação e autorização foi melhor estudado e definido no Spike documentado no documento disponível em : DEAIFOUNDATION-136 - Autenticação e autorização na comunicação via AMQP.
A autenticação dos Consumers AMQP é realizada por login de serviços, seguindo o padrão dos NotifyServers que são instanciados na subida do Host.
Atualmente o login de serviços faz o vínculo de forma fixa com o usuário "RM", devendo assim ser atribuído a este usuário todas as permissões necessárias para os processos de integração que serão recebidos via AMQP.
O protocolo AMQP é suportado pelo EAI 2.0 na sua versão 0.9.1
...