Linha de Produto: | RM |
Situação/Requisito: | Implementar método de subida dos Consumers AMQP, conforme discutido em grooming e descrito no documento (Definição AMQP Totvs | Novo CanalDEAI1-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 ([SourceApplication]@[Produto])
A parametrização de subida dos consumidores da fila de recebimento AMQP será realizada a partir do arquivo de configuração do 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="AMQPConsumerServiceEnabled" value="true" />
</appSettings>
</configuration> |
Indica se o serviço que instancia os consumidores de fila do canal de comunicação AMQP será habilitado 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="AMQPConsumerServiceThreads" value="3" />
</appSettings>
</configuration> |
Indica a quantidade de threads 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="AMQPConsumerServiceHealthCheckInterval" value="15" />
</appSettings>
</configuration> |
Indica o intervalo de tempo (em minutos) 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 é suportado pelo EAI 2.0 na sua versão 0.9.1
View file | ||||
---|---|---|---|---|
|