Visão Geral
O curso RabbitMQ with .NET explora a integração do RabbitMQ com o ambiente de desenvolvimento .NET, permitindo a criação de aplicações distribuídas e assíncronas baseadas em microserviços. Os alunos aprenderão a instalar e configurar o RabbitMQ, utilizar o cliente .NET para mensageria, e implementar soluções robustas e escaláveis em um contexto empresarial. Serão abordadas técnicas avançadas de roteamento, clusterização e administração de RabbitMQ em sistemas baseados em .NET.
Conteúdo Programatico
Módulo 1: Introdução ao RabbitMQ e Mensageria em .NET
- O que é RabbitMQ e por que utilizá-lo?
- Comparação entre RabbitMQ e MSMQ (Microsoft Message Queuing).
- Quando escolher RabbitMQ em vez de outras tecnologias de filas?
Módulo 2: Entendendo Microserviços e Fila de Mensagens
- Introdução aos conceitos de microserviços.
- O papel das filas de mensagens na comunicação entre microserviços.
- Arquitetura desacoplada com RabbitMQ e .NET.
Módulo 3: Visão Geral dos Protocolos de Mensageria
- Comparação entre protocolos de comunicação: REST, SOAP e AMQP.
- Vantagens do AMQP para mensageria em sistemas distribuídos.
- Como o RabbitMQ implementa o AMQP para desacoplamento entre serviços.
Módulo 4: Preparando o Ambiente de Desenvolvimento
- Instalação e configuração do RabbitMQ no Windows.
- Configurações de segurança e permissões no RabbitMQ.
- Instalando o cliente RabbitMQ para .NET (RabbitMQ .NET Client API).
Módulo 5: Instalação e Configuração do RabbitMQ para Aplicações C#
- Passo a passo para instalar RabbitMQ no ambiente de desenvolvimento.
- Configurações específicas para integração com C#.
- Ferramentas úteis para o desenvolvimento com RabbitMQ e .NET.
Módulo 6: Explorando a RabbitMQ .NET Client API
- Introdução ao RabbitMQ .NET Client API.
- Configuração e gerenciamento de conexões com o RabbitMQ em .NET.
- Criando e gerenciando canais no RabbitMQ com .NET.
Módulo 7: Desenvolvendo Aplicações Produtoras e Consumidoras em C#
- Escrita de uma aplicação produtora (sender) em C#.
- Desenvolvimento de uma aplicação consumidora (receiver) em C#.
- Implementação de mensagens síncronas e assíncronas com RabbitMQ.
Módulo 8: Operações Comuns no RabbitMQ com o Cliente .NET
- Criando e gerenciando filas.
- Envio e recebimento de mensagens com o RabbitMQ .NET Client API.
- Persistência de mensagens e uso de filas duráveis.
Módulo 9: Criando Filas com UI de Administração e PowerShell
- Gerenciamento de filas pela interface web do RabbitMQ.
- Configuração e gerenciamento de filas usando PowerShell.
Módulo 10: Integração do RabbitMQ em Aplicações .NET Empresariais
- Integrando RabbitMQ em aplicações corporativas existentes.
- Como refatorar sistemas legados para usar RabbitMQ.
- Práticas recomendadas para integração de mensageria em soluções empresariais.
Módulo 11: Roteamento de Mensagens com RabbitMQ
- Diferenças entre Topics Exchange e Direct Exchange.
- Implementação de roteamento avançado com trocas de mensagens.
- Uso prático de Headers Exchange e Fanout Exchange.
Módulo 12: Configuração e Gerenciamento de Clusters RabbitMQ
- Como configurar um cluster RabbitMQ em ambiente Windows.
- Gerenciamento de nós no cluster e replicação de dados.
- Estratégias de balanceamento de carga e otimização de clusters.
Módulo 13: Implementando Failover e Replicação no RabbitMQ
- Configuração de alta disponibilidade no RabbitMQ.
- Implementação de failover automático em casos de falhas de nós.
- Replicação de mensagens e filas entre nós do cluster.
Módulo 14: Ferramentas e Técnicas de Administração do RabbitMQ
- Uso das ferramentas de administração via linha de comando (CLI) e UI.
- Gerenciamento de filas, usuários e permissões.
- Automação de tarefas administrativas com scripts e PowerShell.
Módulo 15: Gerenciando RabbitMQ via REST API
- Introdução à RabbitMQ Management HTTP API.
- Exemplos de automação de tarefas administrativas com a API REST.
- Monitoramento e recuperação de informações via REST.
Módulo 16: Otimização de Performance do RabbitMQ
- Técnicas para melhorar o desempenho do RabbitMQ em sistemas .NET.
- Monitoramento de throughput e latência.
- Ajustes e otimizações no cluster RabbitMQ.
Módulo 17: Monitoramento e Segurança do RabbitMQ
- Ferramentas e práticas para monitorar o desempenho do RabbitMQ.
- Implementação de práticas de segurança: autenticação, autorização e criptografia.
- Monitoramento contínuo com plugins e ferramentas externas.
Módulo 18: Solução de Problemas Comuns no RabbitMQ
- Troubleshooting de problemas de conexão e performance.
- Resolução de problemas de configuração e replicação.
- Tratamento de filas de "dead-letter" e mensagens não entregues.
Avaliação:
- Exercícios práticos ao final de cada módulo.
- Projeto final: Desenvolver e integrar uma aplicação .NET com RabbitMQ, implementando alta disponibilidade e mensageria assíncrona.
Este curso oferece uma visão completa e aprofundada do uso de RabbitMQ com .NET.
4o