Logo do curso
Curso

Node.js:

mensageria e arquitetura orientada a eventos

Quero estudar na alura

20h

Para conclusão

27

Pessoas nesse curso

Certificado

De participação

Introdução_

O que você aprenderá_

  • Diferencie comunicações síncronas e assíncronas
  • Monte arquiteturas orientadas a eventos
  • Aplique padrões como Publisher Subscriber e Composed Message Processor
  • Utilize Node.js com TypeScript para implementar tipagem forte e comunicação interna
  • Explore os conceitos de RabbitMQ, como exchanges, filas e roteamento
  • Analise estratégias de escalabilidade como worker queues e fair dispatching
  • Implemente práticas de integração entre sistemas com mensageria assíncrona

Público alvo_

Este curso se destina a profesionales y entusiastas del desarrollo que buscan ampliar sus conocimientos en comunicación entre sistemas a través de la mensajería asíncrona. Al final del curso, será posible construir sistemas event-driven robustos, aplicar patrones de integración y escalar aplicaciones mediante prácticas modernas. Es ideal para quienes desean mejorar la integración y la arquitectura orientada a eventos en sus proyectos.

Thiago_valentim1

Thiago_valentim1

github

linkedin

Senior Software Engineer com mais de 6 anos de experiência, Thiago atua com foco em back-end e arquitetura escalável usando NestJS, Node.js e TypeScript. Atualmente na HBC Event Services (EUA), tem passagens marcantes pela Trilon (empresa responsável pelo NestJS) e pela fintech Loula, onde liderou arquiteturas multi-tenant e implementações com Auth0, CI/CD otimizadas e testes em larga escala. Engajado com a comunidade tech, compartilha conhecimento por meio de blogs, contribuições open source e mentoria.

Curso atualizado em 10/12/2025

Ementa

  1. Entendendo comunicação assíncrona e mensageria

    • Apresentação
    • A importância da comunicação entre sistemas
    • Componentes de um sistema de mensageria
    • Preparando o ambiente
    • Dividindo mensagens
    • Conhecendo nosso projeto
    • Enviando a primeira mensagem
    • Implementando o splitter
    • Gerenciando comunicação entre sistemas de reserva de passagens aéreas
    • Implementando o router
    • Implementando roteamento de mensagens na UseDev
    • Para saber mais: correlation id em mensageria
    • Implementando o aggregator
    • Gerenciamento de pedidos no Gatito Petshop
    • Faça como eu fiz: mensageria simples
    • O que aprendemos?
  2. Entendendo padrões de distribuição

    • Projeto da aula anterior
    • Expandindo os requisitos do sistema
    • Implementando o padrão fan-i e dlq
    • Gerenciamento de contatos com Composed Message Processor na Indexa
    • Adicionando sistema financeiro
    • Gerenciamento de pedidos no Petpark
    • Configurando o segundo aggregator
    • Para saber mais: estrutura fixa para agregação de mensagens
    • implemetando-dlq
    • Sincronização de contatos na plataforma Indexa
    • Faça como eu fiz: fluxo de pedidos
    • O que aprendemos?
  3. Garantindo entregas

    • Projeto da aula anterior
    • As garantias de entrega
    • Garantindo a entrega de mensagens no e-commerce UseDev
    • Implementando idempotencia
    • Idempotência no processamento de transações do SwiftBank
    • O modelo de entrega "At Most Once"
    • Entrega de mensagens exactly once
    • Para saber mais: micro empréstimo para evitar saldo negativo
    • Aplicando filas ordenadas e paralelas
    • Gerenciamento de desafios no Runner Circle
    • Faça como eu fiz: entregas de mensagens
    • O que aprendemos?
  4. Introdução ao RabbitMQ

    • Projeto da aula anterior
    • Introduzindo o RabbitMQ
    • Rodando RabbitMQ localmente
    • Gerenciamento de pedidos na loja Meu Pequeno Grimório
    • Criando producer e consumer com RabbitMQ
    • Para saber mais: uso de process.argv em Node.js
    • Enviando novo pedido
    • Gerenciamento de filas de desafios na Runner Circle
    • Para saber mais: dicionário do RabbitMQ
    • Faça como eu fiz: RabbitMQ prático
    • O que aprendemos?
  5. Usando work queues

    • Projeto da aula anterior
    • Entendendo worker queues
    • Gerenciamento de carga em eventos de alta demanda na Organo
    • Introduzindo tratativa de erros
    • Gerenciamento de falhas no compartilhamento de listas de supermercado
    • Para saber mais: uso de nack com requeue false
    • Implementando o fair dispatching
    • Faça como eu fiz: mensageria RabbitMQ
    • O que aprendemos?
  6. Aplicando Pub/Sub

    • Projeto da aula anterior
    • Implementando a exchange fanout
    • Para saber mais: default exchange no RabbitMQ
    • Gerenciamento de transações no Bytebank
    • Definindo o splitter
    • Roteamento de trailers no Luz & Cena
    • Criando o inventário
    • Aplicando o aggregator
    • Para saber mais: lidando com o aumento de demanda
    • Faça como eu fiz: mensageria RabbitMQ
    • O que aprendemos?
  7. Configurando roteamento

    • Projeto da aula anterior
    • Usando dead letter queue e poison pills
    • Gerenciamento de mensagens mal formatadas no CodeConnect
    • Implementando a dead letter exchange
    • Gerenciamento de erros no e-commerce UseDev
    • DLQ para pedidos inválidos
    • Para saber mais: wildcards em routing keys
    • Faça como eu fiz: setup DLQ no RabbitMQ
    • Projeto final
    • O que aprendemos?
    • Conclusão

Descubra se esse curso é pra você! Leia as primeiras aulas

Comece essa formação agora mesmo e capacite-se para seu próximo projeto!

Conheça os planos
Escola

Programação

Mergulhe no universo back-end. Programe nas principais plataformas e linguagens, como Python Node.JS, PHP, Java e .NET. Crie sistemas web e desenhe a arquitetura de soluções inovadoras, com código e boas práticas.

Conheça a escola

Faça parte da nossa comunidade no discord!

Troque conhecimentos com a comunidade da Alura

Aprenda Node.JS com esse e outros cursos, comece agora!

Conheça os Planos para Empresas