Mensageria + .NET Core 3.1: exemplos com RabbitMQ, Kafka, Azure Service Bus e Azure Queue Storage
Recentemente participei de algumas apresentações no Canal .NET em que foi abordado o uso de mensageria em soluções construídas com .NET Core 3.1, com exemplos envolvendo tecnologias como Azure Queue Storage, Azure Service Bus, RabbitMQ e Apache Kafka.
Neste novo post trago diversos exemplos que implementei e utilizei durante estes eventos (além de projetos adicionais), bem como o link com a gravação de cada uma destas lives. Na seção de Referências foram incluídos também artigos cobrindo algumas das soluções de mensageria aqui mencionadas.
E aproveito este espaço para um convite…
Caso você precise conhecer mais sobre o Microsoft Azure como um todo, não deixe de aproveitar o preço promocional (apenas R$ 255,00) da segunda turma online do treinamento Azure na Prática com foco em Desenvolvimento Web que acontecerá dia 20/06/2020 (um sábado). Aproveite para aprender mais sobre as possibilidades oferecidas por serviços do Microsoft Azure como App Service (para hospedagem de Web Apps, com suporte a ASP.NET Core e Docker), Azure Storage, Azure Functions + Logic Apps (soluções serverless), Azure App Configuration + Key Vault… E o melhor, no conforto de sua casa! Acesse o link a seguir para informações e efetuar sua inscrição:
Projetos de Exemplo
.NET Core + Azure Functions 3.x + Azure Service Bus + Apache Kafka + Topics
ASP.NET Core 3.1 + API REST + Apache Kafka + Tópico (Envio de Mensagens)+ Manipulação de Ações
.NET Core 3.1 + Console Application + Apache Kafka (Tópico/Consumo de Mensagens) + Redis + Serilog + Manipulação de Ações
.NET Core 3.1 + Console Application + RabbitMQ (Consumo de Mensagens) + Moedas Estrangeiras
ASP.NET Core 3.1 + API REST + Azure Service Bus + Tópico (Envio de Mensagens) + Manipulação de Ações
.NET Core + Serverless: Dicas e Truques com Azure Functions 3.x | Parte 2 [Vídeo]
Nesta live utilizei o projeto a seguir para o envio de mensagens a uma fila ou tópico (permitindo assim o teste de tecnologias como Azure Queue Storage, Azure Service Bus, RabbitMQ e Apache Kafka):
O consumo de mensagens associadas a filas criadas com Azure Queue Storage, Azure Service Bus e RabbitMQ envolveu um projeto baseado em Azure Functions + .NET Core 3.1:
E um segundo projeto também criado com Azure Functions + .NET Core 3.1 e vinculado a tópicos do Azure Service Bus e Apache Kafka:
.NET Core + Azure Functions 3.x + Azure Service Bus + Apache Kafka + Topics
A gravação está disponível no YouTube:
Aplicações Distribuídas com Apache Kafka, .NET Core e Azure Functions [Vídeo]
Para esta apresentação utilizei um projeto ASP.NET Core 3.1 que possibilita o envio de mensagens a um tópico do Apache Kafka:
ASP.NET Core 3.1 + API REST + Apache Kafka + Tópico (Envio de Mensagens)+ Manipulação de Ações
E ainda implementei 3 projetos para o consumo de mensagens vinculadas ao tópico em questão:
A seguir temos a gravação do YouTube:
Web API, gRPC, AMQP: o que e quando usar? [Vídeo]
Nesta live um dos assuntos foi AMQP (Advanced Message Queuing Protocol), um dos protocolos mais populares entre soluções de mensageria. O Azure Service Bus constitui um bom exemplo de alternativa com suporte a este padrão, sendo que fiz uso desta tecnologia em uma aplicação ASP.NET Core 3.1 para o envio de mensagens a um tópico:
ASP.NET Core 3.1 + API REST + Azure Service Bus + Tópico (Envio de Mensagens) + Manipulação de Ações
Os próximos projetos exemplificam o consumo de mensagens vinculadas ao tópico do Azure Service Bus utilizado na aplicação anterior:
A gravação desta live também se encontra no YouTube: