Sistemas Distribuídos e Comunicação Assíncrona com Kafka
MÓDULO03

Sistemas distribuídos e comunicação assíncrona.

Entenda por que sistemas distribuídos são difíceis, como o Kafka resolve comunicação assíncrona em escala, e como implementar producers, consumers, retry e DLQ em Go.

DURAÇÃO1h 15 min
CAPÍTULOS10
NÍVELIntermediário
PRÉ-REQUISITOSMódulo 02
Programar para um único processo é jogar xadrez. Programar para um sistema distribuído é jogar xadrez às escuras, com o tabuleiro tremendo, e algumas peças explodindo aleatoriamente.
— ABERTURA DO MÓDULO

O que você vai aprender

Sistemas distribuídos não são difíceis demais — eles são diferentes. As regras do mundo de processo único não se aplicam, e tentar forçá-las gera bugs que parecem mágicos: mensagens que chegam fora de ordem, dados inconsistentes por alguns segundos, cobranças duplicadas.

Neste módulo você aprende os conceitos que todo engenheiro backend precisa dominar: comunicação síncrona versus assíncrona, Event-Driven Architecture, os componentes do Kafka (brokers, topics, partições, producers, consumers e consumer groups), idempotência, retry com backoff exponencial e Dead Letter Queue.

O projeto guiado conecta dois serviços via Kafka com retry e DLQ reais, usando a biblioteca kafka-go. Você sai capaz de projetar sistemas que crescem sem virar bola de neve.

KafkaMensageriaDistribuídosResiliência
Começar pelo capítulo 1Voltar ao sumário