fbpx
Mensageria .NET for Architects Day | Sábado, 05 de outubro
Publicado em: quarta-feira, 2 de out de 2024
Tags:

Nesse sábado vai rolar o Mensageria .NET for Architects Day, um evento que gostaria de ter realizado há muito tempo!

Mensageria não é disruptivo apenas pela natureza assíncrona. Tampouco pela lavagem cerebral que sofremos ao aprendermos a programar, que nos faz esquecer da natureza caótica do dia-a-dia. Mensageria nos devolve o caos, agora nos eventos assíncronos disparados por cada ator simultaneamente.

A parte ruim é que muitos ficam pelo caminho, muitos profissionais, projetos, e a parte legal é que de certa forma: é desafiador e divertido!

Nesse evento, que acontecerá no sábado vamos dar vazão aos últimos conteúdos do Mensageria .NET for Architects, e finalizar essa entrega que dura alguns anos.

Minha história com Mensageria e RabbitMQ

Há 11 anos tive meu primeiro contato com RabbitMQ, eu queria processar alguns milhões de músicas, mas não podia me dar ao luxo de criar uma coluna na tabela, e não fazia sentido indexar aquilo que eu já havia processado em um arquivo. Criar novas tabelas em um novo banco não era possível também.

Me restou buscar um mecanismo que pudesse lidar com o controle do processamento de minhas tarefas, algo em que eu pudesse cadastrar minhas demandas de processamento e ele coordenasse para mim.

Eu havia entrado a pouco tempo na empresa, e não queria, naquele momento, pedir mais máquinas sem ter certeza de qual problema resolveria e se resolveria.

Pelas minhas contas, levaria quase 1 mês processando ininterruptamente. Para ser mais preciso próximo de de 20 a 25 dias.

Descobri o RabbitMQ estudando uma solução para esse problema, visto que era uma área de backoffice, portanto naquele momento, uma área sem muitos servidores disponíveis.

Desde então me apaixonei pelo produto, e principalmente pela rigidez aos padrões e conceitos, pela parte quase filosófica por trás dos conceitos que o RabbitMQ carrega consigo.

Coisas que o colega Alexander Mills ( ORESoftware ) é incapaz de compreender.

Empiricamente descobri coisas incríveis, como a capacidade de aumentar minha quantidade de consumers durante a noite, quando tinha uma demanda menor dos bancos de dados, e meu processo poderia consumir mais infra, reduzindo a quantidade de consumers pela manhã.

Isso me gerou a dúvida sobre o que aconteceria com as mensagens que fossem interrompidas, durante o processo de stop do meu processo.

Resiliência foi minha descoberta: "apertando alguns parafusos" era eu poderia matar o processo, fazer novos deploys e nada parava ou era perdido. O que era interrompido ou era processado por outro consumidor ou pelo meu próprio quando voltasse.

Então pude ver e aprender, em em slow motion, dia-a-dia exatamente tudo que uma aplicação pode usar com mensageria, assim empiricamente.

E desde então nunca mais parei de usar e falar de RabbitMQ, em especial de mensageria e seus conceitos.

A saga de estudar RabbitMQ e Mensageria

Aprender esses conceitos empiricamente produz um efeito negativo, em certo ponto, marcado pela falta de uma boa narrativa que explique os fenômenos.

Os fenômenos estão lá, são reproduzíveis, você consegue descrevê-los, mas há uma lacuna que não torna fácil torná-los lúcidos.

Elucidar cada um desses fenômenos, que são comuns ao nosso dia-a-dia, mas que acontecem morosamente, diferente dos nossos sistemas, em que acontecem milhares, milhões de vezes mais rápido, não é uma tarefa simples.

O conteúdo mais abundante sobre mensageria trata de como colocar mensagens em filas e como consumir mensagens de filas.

E é absoluta ingenuidade pensar que mensageria seria só isso, ou querer só isso, sem compreender seus conceitos.

Mas assim como Alexander, é o que o afegão médio quer.

Porém, há discussões muito mais interessantes do que como colocar e tirar mensagens de filas. Discussões sobre as teorias por trás de mensageria, como:

  • Conceitos relacionados a event driven architecture
  • Relação entre eventos e comandos
    • Desacoplamento com eventos
    • Cuidados com a riqueza de dados dos eventos
    • Tamanho dos eventos
    • Eventos passivo-agressivos
    • Reaproveitamento de eventos
    • Comandos e seu acoplamento direto com os processadores
  • Resiliência
    • Fluxo de Retentativa
    • Fluxo de Mensagens não roteadas
    • Como não perder mensagens
  • Paralelismo e Concorrência
    • Como permitir o paralelismo, e evitar a concorrência a objetos críticos de negócio
    • Como metrificar o custo de paralelismo e concorrência
  • Escalabilidade e sequencia
  • Tamanho da mensagem

Estou falando de questões que vão tocar no produto, na implementação de mensageria com RabbitMQ, mas também em conceitos que dizem respeito à design e arquitetura de software.

Essas discussões pouco existem em formato público na internet. E levei alguns anos, me deparando com Alexanders em papéis de decisão, nas empresas daqui do Brasil, me fazendo buscar fundamentação naquilo que empiricamente havia descoberto anos antes.

Essas descobertas me fizeram produzir séries e séries de conteúdo no gaGO.io dedicado a ensinar gratuitamente mensageria com RabbitMQ.

O curso

Depois que criei o Docker Definitivo, falando de docker para a comunidade .NET, rolaram muitos pedidos para que RabbitMQ fosse também um curso.

Eu nunca me vi focado em RabbitMQ ao ponto de lançar um treinamento, eu nunca havia pensado nisso.

Mas a demanda apareceu e criei o RabbitMQ para Aplicações .NET, que mais tarde batizei de Mensageria .NET.

Ele foi lançado por volta de 2021, primeiro como uma masterclass, depois teve suas aulas regravadas, porque não gostei do resultado da gravação da masterclass.

É uma jornada de aproximadamente 10 horas (15 com o evento de sábado) dividida e ofertada em 2 subprodutos:

Mensageria .NET for Developers: Destinada a o mínimo que você precisa saber para não ser mais um afegão médio quando o assunto é mensageria.

Mensageria .NET for Architects: dedicado aos assuntos mais avançados e mais abstratos.

Porque da divisão?

Os assuntos abstratos pedem maturidade, pedem experiência prática, pois se você nem começou a usar RabbitMQ, não colocou em nenhum projeto ainda, o nível de compreensão e entendimento das questões abstratas fica comprometido.

Sem a experiência prática, as discussões ao redor dos temas avançados dão lugar às discussões sobre aquilo que o aluno deveria ter assistido mas subestimou.

Então a produtividade nessas discussões é muito baixa e não agrega nem para mim, nem para o aluno, portanto dividir as jornadas permite dialogar com públicos diferentes.

De um lado aqueles que querem aprender além do básico, e do outro aqueles que querem ver de forma prática, as questões mais abstratas e teóricas.

Então no Mensageria .NET for Developers eu abordo os módulos:

  • ✅1 Introdução
  • ✅2 Entendendo como o RabbitMQ entrega
  • ✅3 Fundamentos
  • ✅4 Instalação e Gerenciamento
  • ✅5 Desenvolvendo com RabbitMQ
  • ✅6 Resiliência com RabbitMQ
  • ✅7 Patterns - RPC
  • ✅8 Patterns

Enquanto no Mensageria .NET for Architects eu abordo os módulos:

  • ✅1 Introdução
  • ✅2 Entendendo como o RabbitMQ entrega
  • ✅3 Fundamentos
  • ✅4 Instalação e Gerenciamento
  • ✅5 Desenvolvendo com RabbitMQ
  • ✅6 Resiliência com RabbitMQ
  • ✅7 Patterns - RPC
  • ✅8 Patterns
  • ⚠️9 Estudos de Caso
  • ✅ 10 Event Driven Microservices | Concept
  • ⚠️11 Event Driven Architecture | E-Shop EDA
  • ⚠️12 RabbitMQ Streams
  • ✅13 Update de Produção
  • ⚠️14 Clustering
  • ⚠️15 .NET ASPIRE

E todos os módulos com ⚠️são módulos pendentes, que nesse sábado dia 5/outubro vou entregar ao vivo em um evento no Google Meet para alunos.

  • ⚠️9 Estudos de Caso
  • ⚠️11 Event Driven Architecture | E-Shop EDA
  • ⚠️12 RabbitMQ Streams
  • ⚠️14 Clustering
  • ⚠️15 .NET ASPIRE

E assim damos fim a essa jornada de conteúdo.

Como fazer parte?

O evento é para alunos, mas tem formas interessantes de você entrar.

Se você entrar no Mensageria .NET for Developers,

  • 1 ano de acesso ao Conteúdo Gravado do do Mensageria .NET for Developers
  • 1 mentoria do Mensageria .NET por mês
  • Mensageria .NET for Architects Day | você terá acesso ao evento ao vivo.

todos os alunos do Mensageria .NET.

Já os alunos do Mensageria .NET for Architects, terão acesso ao evento mas também à gravação, na sua área de membros (por hora na kiwify).

  • 1 ano de acesso ao Conteúdo Gravado do do Mensageria .NET for Developers
  • 1 ano de acesso ao Conteúdo Gravado do do Mensageria .NET for Architects
  • 1 mentoria do Mensageria .NET por mês
  • Mensageria .NET for Architects Day | você terá acesso ao evento ao vivo.
  • Gravação do Mensageria .NET for Architects Day

Os valores são os mesmos

Maaaaaassssss

estamos em campanha no Cloud Native .NET, onde temos a oportunidade de entrar no Cloud Native .NET por R$ 4997 e receber acesso ao:

E se você leu até aqui,
tem mais R$ 1000 de desconto,
ou seja R$ 333,09 por mês!!

Então temos opções de R$ 997, R$ 1997 e R$ 3997 que dão acesso ao evento.

Agora não é mais comigo!

Nos vemos no sábado!

Você pediu e agora virou curso. Mensageria .NET é minha formação de especialista em RabbitMQ com .NET, onde ensino RabbitMQ do básico, cada fundamento, cada detalhe, ao avançado.

Onde você vai sair do zero absoluto e vai conseguir criar, projetar e corrigir soluções .NET com RabbitMQ.

Além de contar mais 3 outros bonus incríveis para ajudar todos que precisam de um up na carreira.

RabbitMQ Newsletter

Novidades e ofertas de conteúdo exclusivo e único no Brasil.

Hoje com orgulho somos referência quando se fala em RabbitMQ com .NET.

São quase 10 anos usando RabbitMQ em projetos .NET com C#, implantando, convencendo times e mostrando o caminho para aslcançar sos 5 benefícios.

Após centenas de pedidos, criei um curso dedicado aos profissionais .NET. 

Aqui nessa newsletter eu te entrego promoções e links especiais! Cola aqui, tem muita coisa legal!

Luiz Carlos Faria

Meu primeiro contato com RabbitMQ foi em 2013.

Eu estava sozinho na definição de uma arquitetura para a reestruturação de uma integração enquanto meu time estava ocupado com o dia-a-dia.

Naquela época eu precisava de apenas 1 ou 2 recursos que o RabbitMQ entregava.

Nas primeiras semanas e meses em produção pude perceber coisas que não estavam escritas em lugar algum, benefícios e formas de uso das quais poderiam resolver anos de frustração.

Desde então RabbitMQ tem sido meu aliado na restruturação de projetos dos mais variados.

E por mais simples que seja, ainda é possível, 10 anos depois, gerar surpresas com novas abordagens que geram novos benefícios.

7 dias

É tudo que precisa para sair do zero, à produção!

Com conforto, com segurança, e com apoio.

Desde que você já seja um desenvolvedor profissional.

Se você quer entregar mais Disponibilidade, Eficiência, Resiliência, Confiabilidade e/ou Escalabilidade, em projetos .NET, aqui é o seu lugar.

0 comentários

Enviar um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Lives

Fique de olho nas lives

Fique de olho nas lives no meu canal do Youtube, no Canal .NET e nos Grupos do Facebook e Instagram.

Aceleradores

Existem diversas formas de viabilizar o suporte ao teu projeto. Seja com os treinamentos, consultoria, mentorias em grupo.