Ideias de soluções
Esse artigo é uma ideia de solução. Caso deseje que ampliemos o conteúdo com mais informações, como possíveis casos de uso, serviços alternativos, considerações sobre implementação ou diretrizes de preços, fale conosco enviando seus comentários no GitHub.
Essa solução usa o Cache do Azure para Redis para rotear mensagens em tempo real em sistemas de publicação e assinatura. Ele também amplia as estruturas de comunicação da Web, como o Serviço Azure SignalR.
Arquitetura
Baixe um Arquivo Visio dessa arquitetura.
Fluxo de dados
- Os editores enviam mensagens para o Cache do Azure para Redis.
- O Cache do Azure para Redis armazena essas mensagens e gerencia a entrega aos assinantes.
- Os assinantes extraem mensagens que eles assinaram do Cache do Azure para Redis.
Componentes
- O Cache do Azure para Redis é um cache totalmente gerenciado na memória que permite arquiteturas escalonáveis e de alto desempenho. Você pode usá-lo para criar implantações de nuvem ou híbridas que lidam com milhões de solicitações por segundo com latências inferiores a milissegundos – tudo isso com os benefícios de configuração, segurança e disponibilidade de um serviço gerenciado. Embora o Cache do Azure para Redis seja frequentemente usado como um cache de dados para melhorar o desempenho do aplicativo, você também pode usá-lo como um agente de mensagens.
- O Serviço de Aplicativo do Azure é um serviço com base em HTTP para hospedagem de aplicativos Web, APIs REST e back-ends móveis. Com o Serviço de Aplicativo, você pode desenvolver sua linguagem favorita, seja .NET, Java, Ruby, Node.js, PHP ou Python. Os aplicativos são executados e dimensionados com facilidade em ambientes baseados no Windows e no Linux.
- O Azure SignalR Service é uma biblioteca de software livre que fornece uma maneira de enviar notificações para aplicativos Web em tempo real.
Detalhes do cenário
Este cenário demonstra como usar o Cache do Azure para Redis como um agente de mensagens para implementar um recurso de mensagens assíncronas de publicação/assinatura. É ideal para rotear mensagens em tempo real. Você também pode usar essa solução para escalar estruturas de comunicação da Web. Por exemplo, você pode usá-lo para distribuir mensagens em um aplicativo SignalR implantado em instâncias separadas do IIS (Serviços de Informações da Internet).
Possíveis casos de uso
Essa solução se aplica a cenários que usam sistemas de publicação e assinatura, incluindo:
- Middleware que conecta os microsserviços das funções de negócios dentro de uma empresa.
- Sistemas de coleta e distribuição de logs de aplicações.
- Sistemas de reserva de assentos.
Próximas etapas
- Sobre o Cache Redis do Azure
- Visão geral do Serviço de Aplicativo
- O que é o Serviço do Azure SignalR?
- Implementar pub/sub e fluxos no Cache do Azure para Redis
- Expansão do SignalR com Redis