RabbitMQ
A plataforma Devprime oferece suporte nativo ao RabbitMQ, um software de mensagens open source que opera com base nos protocolos Advanced Message Queuing Protocol (AMQP) e Streaming Text Oriented Messaging Protocol (MQTT).
As configurações do Adapter de Stream são realizadas na chave “DevPrime_Stream” dentro do arquivo “src/App/appsettings.json” no ambiente de desenvolvimento. No ambiente de produção, recomendamos que as configurações sejam passadas por meio do processo de DevOps, com a proteção das credenciais por meio do uso de um Vault.
Abrindo as configurações pelo Visual Studio Code
code src/App/appsettings.json
Os parâmetros de configuração principais são os itens “Alias” que funciona como um identificador para o serviço, Enable que habilita o serviço no adapter e StreamType que define o tipo de serviço a ser utilizado. Em cada plataforma teremos itens personalizados de configuração conforme o contexto.
|
|
No exemplo abaixo, estamos detalhando as configurações padrões do Adapter e as configurações específicas do RabbitMQ.
Geral | — |
---|---|
Enable | Habilita o adapter de Stream (True/False) |
Alias | Define um nome único para identificar o serviço |
Default | Define como padrão para o centário de ter mais de um Stream (True/False) |
StreamType | Define o tipo de Stream (RabbitMQ/Kafka) |
HostName | Configura a url do RabbitMQ |
User | Configura o usuário para se conectar |
Password | Configura a senha do usuário |
Port | Configura a porta |
Exchange | Configura a Exchage padrão do RabbitMQ |
ExchangeType | Configura o tipo de Exchange |
Retry | Configura a quantidade de retentativas |
Fallback | Configura um State para persitência automática em caso de falha |
Threads | Define o número coneções simulteas processando eventos |
Buffer | Define a quantidade de eventos obitidos por conexão |
Subscribe | Configura filas do RabbitMQ para leitura |
O Adapter de Stream da plataforma Devprime oferece suporte para mais de um serviço de streaming simultaneamente, para atender a cenários específicos onde seja necessário ter tanto o RabbitMQ quanto o Kafka no mesmo microsserviço.
No exemplo abaixo, tanto o RabbitMQ quanto o Kafka foram adicionados ao mesmo tempo. É importante observar que cada item possui um alias (Stream1/Stream2), e somente o Stream1 está definido como “Default”.
|
|
Exemplo no log da aplicação com essa configuração:
|
|
Exemplo YAML com as configurações da aplicação:
Para exportar as configurações como variável de ambiente e utilizar no Kubernetes execute o comando no Devprime CLI:
dp export kubernetes
|
|
Explore um exemplo de comunicação assíncrona entre microsserviços'
Para obter informações detalhadas sobre as configurações de cada plataforma consulte as configurações específicas.
A plataforma Devprime oferece suporte nativo ao RabbitMQ, um software de mensagens open source que opera com base nos protocolos Advanced Message Queuing Protocol (AMQP) e Streaming Text Oriented Messaging Protocol (MQTT).
A plataforma Devprime oferece suporte nativo ao Apache Kafka, uma plataforma de streams desenvolvida pela Apache Software Foundation. O projeto tem como objetivo fornecer uma plataforma unificada, de alta capacidade e baixa latência para o processamento de dados em tempo real.
A plataforma Devprime oferece suporte nativo ao CloudAMQP, que fornece uma abordagem SaaS do RabbitMQ, um software de mensagens de código aberto que opera com base nos protocolos Advanced Message Queuing Protocol (AMQP) e Streaming Text Oriented Messaging Protocol (MQTT).
Você pode trabalhar com filas normais, fanout
Você pode trabalhar com filas normais, fanout
Você pode trabalhar com filas normais, fanout
A plataforma Devprime, por meio do Adapter Stream, oferece a abordagem Multistream, permitindo a integração de mais de um serviço de Stream em um único microsserviço.