Páginas filhas
  • DT DEAI1-2537 Suporte AMQP - Linha RM

Versões comparadas

Chave

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


Implementar método de subida dos Consumers AMQP

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


Objetivo

Elaborar o documento técnico que orientará a implementação do canal de comunicação AMQP no EAI 2.0.

Definições Gerais

A primeira versão do documento técnico foi desenvolvido considerando o escopo e restrições listados abaixo.

Escopo e Restrições

  • A parametrização do canal de envio (AMQP) deverá ser realizada no cadastro do aplicativo integrado.
  • Será utilizada a Exchange padrão para envio e recebimento de mensagens. 
    • A Exchange padrão é do tipo Direct, orientada por RoutingKey (nome da fila).
  • Os aplicativos irão consumir, na Exchange padrão, a fila com RoutingKey igual seu AppId (padrão [Aplicativo]@[SourceApplication]) para recebimento de mensagens.
  • Será utilizado o padrão RPC para a comunicação, viabilizando assim o aguardo da mensagem de resposta, conforme o protocolo de Mensagem Padronizada.
  • O serviço de execução de consumidores da fila de mensagens AMQP será inicializado automaticamente com durante a subida do RM.Host, de acordo com a parametrização no arquivo de configurações do RM.Host.
  • O protocolo AMQP é suportado pelo EAI 2.0 na sua versão 0.9.1

Definições da Regra de Negócio

Configurações

Canal de Envio

A parametrização do tipo de canal de envio será realizada a partir do cadastro de aplicativos no EAI 2.0

Image Added

Fila de Recebimento

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])

Image Added

Parametrização de Subida dos Consumidores da fila de Recebimento

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.

AMQPCONSUMERSERVICEENABLED

Bloco de código
languagexml
<?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.

AMQPCONSUMERSERVICETHREADS

Bloco de código
languagexml
<?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.

AMQPCONSUMERSERVICEHEALTHCHECKINTERVAL

Bloco de código
languagexml
<?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.

AMQPCONSUMERSERVICEPREFETCH

Bloco de código
languagexml
<?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.

Autenticação e Autorização

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.

Protocolo

AMQP

O protocolo é suportado pelo EAI 2.0 na sua versão 0.9.1

View file
nameamqp0-9-1.pdf
height250