Aprenda a usar RabbitMQ de forma profissional
Tudo que você precisa saber sobre mensageria e aplicações distribuídas, usando RabbitMQ.
Estratégias, táticas, dicas, repositório no github e guias de implementação, tudo na prática com passo-a-passo para você aplicar com segurança em seus projetos. Elimine riscos técnicos e sinta-se seguro para implementar mensageria em qualquer projeto, de qualquer tamanho, principalmente projetos .NET.
curso + projetos + acompanhamento + comunidade
mensageria está no centro das principais discussões sobre aplicações distribuídas
Mensageria está na categoria de assuntos que tira o sono de desenvolvedores de todos níveis.
Quando aprendemos a programar, nos desconectamos do mundo desordenado e assíncrono para entrar em um universo síncrono, linear, sequencial. Step-by-step, comando-a-comando, operação-a-operação. É assim que desenvolvemos software a maior parte do tempo.
Mensageria insere o componente assincronismo ao nosso software e por isso é tão disruptivo. Ao falarmos de mensageria não estamos apenas falando de uma estrutura de dados FIFO.
A estrutura de dados é como o tijolo ou o cimento de uma construção.
Porém, a grande diferença está na engenharia necessária para construir um prédio, ou uma simples churrasqueira.
Aqui não é diferente, não basta usar uma fila ou stream, é preciso entender qual ferramenta usar, pois, superficialmente, podemos dizer que todas as soluções fazem a mesma coisa. Da mesma forma que para um leigo, NoSQL e SGDB possam parecer a mesma coisa: afinal “é tudo banco de dados” né?!
Mas na prática, no dia-a-dia, há uma distância abissal entre cada uma delas.
Umas demandam mais infra, outras demandam mais engenharia, outras demandam outros componentes. Cada qual tem suas peculiaridades, cada qual produz um tipo de acoplamento e um design específico.
E é aqui que entra minha escolha, e a escolha do mercado: RabbitMQ.
Saber PENSAR e PROJETAR aplicações distribuídas com mensageria é um dos conhecimentos mais raros e escassos do nosso mercado. Mensageria .NET foi projetado para ser o treinamento que eu queria poder ter feito quando comecei a trabalhar com mensageria, principalmente com RabbitMQ.
Foi pensado em todos os desafios que profissionais .NET esbarraram ao tentar adotar mensageria com RabbitMQ.
É o atalho que empacota as minhas estratégias para criar aplicações disponíveis, eficientes, resilientes, confiáveis e escaláveis.
E esse poder de entender como ter esses benefícios, fará de você um profissional muito especial e raro no mercado de TI.
RabbitMQ
Segundo a Datadog, nos relatórios de 2018, 2019, 2020 e 2021, RabbitMQ é o único serviço de mensageria presente entre as 6 principais aplicações executadas em containers. O único na categoria de message broker, em todo o report.
O dataset avaliado em 2018 é baseado em 500 milhões de containers, já os de 2019, 2020 e 2021 contam com mais de 1.5 bilhão de containers avaliados.
O que é o mensageria .NET?
Mensageria .NET é minha especialização dedicada a ensinar as minhas estratégias de implementação e design com mensageria, em especial usando RabbitMQ para fazer praticamente qualquer backend .NET se tornar:
Disponível, Eficiente, Resiliente, Confiável e Escalável
Com o poder do .NET aliado ao RabbitMQ
Podendo assim alcançar alguns desses 5 benefícios com monolitos, aplicações de pequeno porte.
Ou todos os benefícios com microsserviços!
Você escolhe como usar esse conhecimento, o campo de utilização é vasto!
O QUE VOCÊ VAI APRENDER aqui
Nos primeiros 3 módulos você aprende a identificar como o RabbitMQ pode entregar Disponibilidade, Performance, Eficiência, Resiliência, Confiabilidade e Escalabilidade para suas aplicações.
Nos módulos 4 e 5 vamos dar os primeiros passos, vendo uma instalação do zero com RabbitMQ e vamos entender cada objeto do produto. Entendendo para que serve cada propriedade e como elas impactam publishers, consumers e até o próprio RabbitMQ.
No módulo 6 vemos resiliência e o checklist de resiliência, para que nunca mais você perca mensagens no RabbitMQ. Você vai ver, na prática como que cada configuração impacta tanto no Rabbit, quanto no Publisher e principalmente no Consumer.
Como a transição para o modelo 100% assíncrono parece utópico para muitos, temos um módulo dedicado a RPC, onde você vai aprender a trabalhar com fluxos síncronos sob fluxos assíncronos.
No módulo 8 vamos ver como reduzir o acesso ao banco para leitura e escrita. Ao mesmo tempo vamos ver como podemos aumentar o paralelismo no acesso a banco.
Ainda no módulo 8 vamos aprender a como reduzir acoplamento e abordar sobre eventos, comandos e processos de longa duração.
No módulo 9 abordamos cases reais em que usei RabbitMQ para criar ou recuperar projetos.
No módulo 10 vemos a parte conceitual de Event Driven Architecture, onde construímos o entendimento sobre acoplamento até um exemplo de implementação.
Ainda temos agendado para os próximos meses:
- Event Driven eShop application – Uma aplicação completa de e-commerce demonstrando event driven na prática.
- Streams
- Step-by-step para migração para produção.
.NET + C# + Visual Studio + Docker
Todos os projetos são desenvolvidos em .NET 5 e .NET 6 usando C#.
Nós usamos Docker para subir um simples RabbitMQ, e continuar desenvolvendo e rodando nossas aplicações no Windows.
Mas também rodamos nossas aplicações em containers.
Portanto, é importante que você pelo menos saiba o que é Docker e tenha docker desktop instalado.
O resto, deixa comigo!
100%
.NET 5 / .NET 6
em breve .NET 7
Descubra se fazer parte do
mais completo conteúdo de rabbitmq
é para você
Se você já trabalha com .NET Core e não tem birra com Docker, com toda certeza, aqui é MELHOR lugar para você estar.
Além de ter acesso ao curso de RabbitMQ para aplicações .NET, lives mensais, comunidade, e repositórios de apoio, você poderá contar com a experiência de ~200 desenvolvedores .NET que atuam e trabalham com RabbitMQ em seus projetos. Quanto vale isso para você?
Agora preste atenção: se você acredita em fórmula mágica, em sucesso sem trabalho duro, aqui não é seu lugar!
Agora, se você quer
Aprender uma tecnologia e diversos padrões que serão diferenciais em seus processos seletivos.
Ser capaz de ser um dos únicos profissionais na sua empresa com conhecimento de técnicas para restruturar ou estruturar projetos .NET para que se tornem de fato disponíveis, eficientes, resilientes, confiáveis e escaláveis.
Aprender conceitos e padrões que extrapolam o RabbitMQ e podem ser usados em qualquer serviço de mensageria, respeitando as peculiaridades de cada um.
E mais…
Video On Demand
Curso gravado em vídeo com aulas que variam de 3 a 15 minutos em média. Feito para você poder voltar e assistir pontualmente cada aula.
Comunidade
Comunidade de alunos no telegram onde você encontra outros desenvolvedores que estão também aprendendo a implantar mensageria em seus projetos.
Repositórios do GitHub
São 14 repositórios em uma Organização secreta no GitHub e você terá acesso a todos. Esses repositórios contam com PoC’s, demos, WebHooks, aplicação Windows Forms, aplicações rodando no Kubernetes, exemplos com OpenTelemetry e Jaeger, Dead-Letters, coreografias complexas e alguns dos meus projetos pessoais daqui do gaGO.io.
Tips and Tricks / Patterns
Truques de modelagem, estratégias de otimização de acesso a banco. Recursos úteis para você entender como usar mensageria para alcançar os 5 objetivos.
Suporte
Na nossa comunidade você pode postar problemas, código, e eu ou meu time vamos cuidar de sanar tua dúvida e ajudar na solução do teu problema. Isso vai desde direcionar para que você assista um vídeo, para que você traga seu assunto para a live. Sem resposta você não fica.
Live Mensal
Uma vez por mês, nos reunimos em uma reunião online via Zoom onde eu vou ver seu código, vamos debater sobre novidades e implementações e tirar dúvidas.
21 dias de garantia incondicional.
Se por qualquer motivo você quiser sair, basta mandar 1 email e pronto. 100% do investimento retorna para sua conta.
Qual o valor do investimento?
12 x R$ 200,30
ou R$ 1.997,00 à vista
vitalício / sem renovação / sem recompra
ESTUDO DE CASO
Veja o que a galera da Leo Madeiras fez com o RabbitMQ já na sua primeira implantação.
Lucas Sheid e Daniel Arrais, alunos dos nossos cursos contam o que fizeram lá na Leo Madeiras.
Mensageria é um dos pesadelos de qualquer desenvolvedor que nunca trabalhou com mensageria.
Tudo que você aprendeu até aqui te atrapalha porque você está acostumado a pensar de forma síncrona e linear.
FEEDBACK DOS ALUNOS
O que nossos alunos estão falando sobre o RabbitMQ para Aplicações .NET
“Tive a visão das possibilidades e benefícios que uma solução assíncrona, resiliência, escalabilidade que nunca imaginaria alcançar. Conteúdo especialista, diferente de qualquer outro curso. Vai aprender muito mais que RabbitMQ. Vai aprender com uma referência no assunto. Inclusive fez code Review que corrigiu vários erros críticos em minha implementação.”
“O curso possui um grupo para discussões tanto sobre o curso quanto a problemas relacionados ao tema do curso – Lives agendadas para tirar dúvidas – Conteúdo completo e aderente a o que se pede no mercado.”
“O material do curso é excelente, o intuito era adquirir conhecimentos de mensageira com RabbitMQ”
“Profundidade de conhecimento tecnico, suporte assustadoramente rapido e eficiente, e network. Consigo propor soluções com mais profundidade de conhecimento para a equipe”
..“O material está bem completo, eu não conhecia nada sobre o assunto de mensageria antes do curso e já consegui aplicar uma parte dos conhecimentos na empresa anterior. Já considero o conteúdo do curso muito bom e bem completo, gosto bastante da forma que o conteúdo é abordado e dos exemplos com cases de necessidades reais.
Conteúdo extremamente claro e objeto baseado em necessidades de projetos reais.
Metodologia prática
Ótimos fundamentos para entender o que porque existe cada elemento.
Antes de conhecer os conceitos de mensageria e da aplicação com RabbitMQ sempre construí aplicações que trabalhavam de forma síncrona e que muitas vezes apresentavam problemas de performance, lock no banco e auto consumo de recursos.
Durante e após o curso consegui entender como as filas poderiam me ajudar a escalar a aplicação sem necessidade de ter mais hardware e consegui ter uma melhor visão de como grandes projetos são construídos e graças a esse conhecimento e visão consegui o meu cargo atual de arquiteto no maior banco do pais”
“Ponto 1 – suporte dos colegas do curso e do próprio instrutor
Pontos 2 – fácil entendimento
Ponto 3 – ser bem prático e colocando bastante mão na massa”
“Mais seguro, com certeza. Pela experiência que você passou, ficou muito mais claro o objetivo e a importância dessa tecnologia. Preciso rever e me aprofundar mais.”
“Aulas feitas por um especialista, Grupo para tirar dúvidas, Didática ótima”
“O curso amplia de forma significativa a visão sobre mensageria, arquitetura em geral e rabbitmq, tenho trazido tais conhecimentos para o meu dia a dia de trabalho e projetos pessoais que desenvolvo para evoluir em determinados assuntos. Me sinto muito mais maduro e seguro!”
“A didática é muito boa, os exemplos são práticos e vai além de uma implementação básica. Esses foram os pontos que usei pra convencer um amigo a fazer o curso. Estou muito mais seguro em implementar uma arquitetura orientada a eventos”
“Conteúdo de qualidade, fácil de entender, um grupo caso tenha dúvidas. Antes não sabia as possibilidades que podia ter com a messageria. Depois do concurso deu pra perceber as inúmeras possibilidade que posso utilizar messageria”
“Achei que nunca iria utilizar a opção de mensagem não persistida e não usar o auto ack. Mas me deparei com um projeto que aceita perda de mensagens e precisa de alta resposta. Relendo parace estranho mas é verdade.”
“Estomos migrando o ERP da empresa para C# e vejo o uso da mensageria como um meio de aproveitar melhor os recursos de hardware local e na nuvem. ”
“Conteúdo estruturado, foco nos fundamentos e muito exemplo de código (prática). Não conhecia nada de sistema de mensageira.. Hoje sou capaz de utilizar e decidir o melhor cenário de uso.”
“Qualidade do conteúdo entregue – Disposição do mestre Luiz em ajudar a turma no grupo – Repo com vários exemplos de implementações para sanar dúvidas. O Fabio antes do curso, conhecia o RabbitMQ e sabia para que servia. Conseguia fazer um publish/consumer rodar ( de forma porca). Estou encaminhando para um conhecimento que saiba o que é correto/errado fazer com Rabbit, ter propriedades para entrar em uma discussão e ter argumentos e não ser só um ouvinte sobre a tecnologia.”
motivos para você fazer parte da nossa tribo
Aqui eu vou compilar meus argumentos que me motivaram a criar esse curso e o que eu diria para você sobre participar ou não dessa nossa tribo.
Sobre a sua Carreira
É absurdamente fácil você reimplementar rodas, só que quadradas. Se você não conhece a plataforma de mensageria que usa com certo nível de profundidade, boas são as chances de criar gambiarras meia-boca para solucionar problemas que a plataforma já soluciona nativamente.
É absurdamente fácil errar na hora de trabalhar com mensageria em geral. Dividir responsabilidades entre publisher e consumer é bem simples, mas ter clareza e confiança na decisão por ter ou não um intermediador entre o publisher e um consumer, é fundamental para um desenho saudável que não faça você se descabelar por ter produzido um monolito distribuído.
Mensageria é o alicerce de aplicações de grande porte. Portanto não importa qual empresa você vá. Se o volume é elevado mensageria sem sombra de dúvidas já faz parte do dia-a-dia delas.
Quanto maior a autonomia, maior a responsabilidade. Empresas que dão mais autonomia para o dev, precisam contratar devs mais experientes. E Mensageria pode ser a experiência que faz você fracassar nas entrevistas e testes técnicos. Ao mesmo passo que pode ser diferencial da entrevista.
Sobre o Curso
Após anos de suporte à comunidade, aos meus times e clientes, entender como e quais são os cantos cegos do desenvolvedor que não entende mensageria, me possibilita usar exemplos e analogias que trazem o dev para a realidade de sistemas distribuídos reduzindo a curva de aprendizado e reduzindo a possibilidade de falhas de entendimento.
A didática aplicada aqui é resultado de quase 10 anos evangelizando desenvolvedores, empresas e a comunidade a trabalharem com mensageria. Didática é o assunto que toma mais tempo na preparação do material.
O curso foi desenhado para quem nunca viu sequer uma aplicação distribuída ou com mensageria.
O curso foi construído a partir dos problemas de entendimento encontrados na comunidade e nas empresas por onde passei. Com base nessa dificuldade, construí os fundamentos para sanar a insegurança e medo no uso de mensageria, e também conseguir demonstrar que buscamos desacoplamento, como realizamos de fato esse trabalho.
Todos os exemplos são baseados em .NET ( ou .NET Core ), e todos os exemplos são pensados na simplificação do escopo de desenvolvimento, pensando mais em como vocês usarão no dia-a-dia em vez de exemplos simplistas.
100% do curso é pautado já no uso de containers, o que torna fácil montar ambiente, labs e fazer seus próprios testes.
Em um único curso você vai desde o básico sobre o que é uma fila até o entendimento de como trabalhar com Event Driven Architecture e os detalhes de como projetar eventos e comandos para isolar responsabilidades e assegurar o desacoplamento ainda evitando acoplamento acidental.
Sobre o RabbitMQ
RabbitMQ é um dos mais usados Message Brokers do mercado.
Por ser o único baseado em AMQP 0-9-0 ainda mantém o conceito de Exchanges separado do conceito de filas, o que aumenta o desacoplamento entre publishers e consumers. Evitando a necessidade de construir consumers que só fazem distribuição de mensagens entre filas.
A Pivotal, da VMWare trata .NET como plataforma prioritária do RabbitMQ.
Possui tanto Streams quanto Queues.
Permite Clustering e Federação mas também permite single instance.
RabbitMQ é uma das poucas soluções de mensageria que ao mesmo tempo entregam resiliência, segurança e podem ser usados em projetos pequenos e médios
sobre o seu instrutor
Olá, eu sou Luiz Carlos Faria, sou responsável pelo gaGO.io, faço parte do Canal .NET e DevShow podcast, sou MTAC desde 2017 e Microsoft MVP desde 2018, recebendo 3 nomeações.
Desde 2002 me dedico ao desenvolvimento de software, desse tempo quase que 100% com foco em .NET. Arquitetura de Software se faz presente em minha carreira desde os primeiros anos de carreira. Em 2010 me consolidei como arquiteto de software e em 2015 como arquiteto de soluções. Dedicando uma boa parte da minha carreira à restruturações e recuperação de projetos críticos.
Mensageria como pattern, e RabbitMQ como produto compõem a dobradinha que mais me ajudou na terrível tarefa de recuperar projetos críticos. A primeira implantação aconteceu em 2013 e de lá para cá tem feito parte da maioria dos meus projetos.
Você encontra aqui, no Mensageria .NET, o conteúdo que eu gostaria de que existisse em português em 2013. É mais que uma didática incrível, é a experiência, a didática, o saber o que você não entende e que não está claro nem para você mesmo. É uma base de código de exemplos, tudo isso condensados em uma jornada curta e única.
É o conteúdo que eu adoraria ter comprado na época!
quais empresas pedem RABBITMQ NAS ENTREVISTAS PARA VAGAS .NET?
Aqui estão algumas empresas que pedem esse conhecimento em suas vagas. Note que estamos falando de empresas concorridas.
Ao mesmo tempo que encontramos vagas com centenas de profissionais tentando concorrer, vemos outras vagas de cargos mais complexos com pouquíssimas candidaturas.
Você se considera apto a atender a demanda destes cargos?
Em 23/MARÇO/2022 eram mais de 300 vagas.
Preste atenção nos cargos, nas empresas, no tempo em que as vagas estão abertas e a quantidade de candidaturas.
Desenvolvedor(a) Back-end Sênior (.Net)
Especialista em Desenvolvimento de Sistemas – Tech Lead (Time de Varejo)
Pessoa Desenvolvedora Backend Sênior
Engenheiro(a) de Software Sênior
Tech Lead Fullstack
System Architect (W/M)
Tech Lead – Squad Conta Corrente
Desenvolvedor de .NET sênior
Engenheiro(a) de Software (.Net) – IT Equities & Derivatives
Gerente de engenharia de software
Muitas vagas com altos salários e concorrência super baixa!
Estamos quase lá!
O processo de inscrição é simples:
Preencha esse formulário abaixo e clique no botão. Você será redirecionado para a Kiwify, nossa plataforma de pagamentos.
No checkout você escolhe a forma de pagamento (boleto, cartão, pix etc) e prossegue com o checkout.
Pagamentos em cartão e/ou pix possuem liberação instantânea.
Você já começa a estudar em menos de 5 minutos.
Checkout ocorrerá em ambiente seguro da kiwify.