Trilha de estudo
Trilha Engenharia de Sistemas Distribuídos: tudo o que estudar, tópico por tópico
Sistemas distribuídos escaláveis e confiáveis
Resposta curta
Para aprender Engenharia de Sistemas Distribuídos, percorra 6 módulos e 24 tópicos na ordem em que um apoia o próximo. Comece por Modelos de Consistência de Dados e siga para Replicação e Consenso e Escalabilidade e Desempenho. Use o mapa como checklist, ou meça seu nível e estude só o que falta.
O que você vai estudar
Os tópicos estão agrupados por módulo. Abra um para ver os objetivos e os conceitos-chave.
1 · Modelos de Consistência de Dados4 tópicos
Teorema CAP
Compreensão do teorema CAP — Consistência, Disponibilidade e Tolerância a Partições — e os trade-offs do mundo real que arquitetos de sistemas distribuídos precisam fazer quando ocorrem partições de rede
Objetivos
- Explicar o teorema CAP e por que as três propriedades não podem ser garantidas simultaneamente
- Classificar sistemas reais (Cassandra, HBase, Zookeeper) no espectro CAP
Conceitos-chave
- teorema CAP
- consistência
- disponibilidade
- tolerância a partições
- sistemas CA vs CP vs AP
- partições de rede
- modelo PACELC
Modelos de Consistência
O espectro de garantias de consistência — da serializabilidade estrita a read-your-writes, monotonic reads e consistência de sessão — e quando cada uma é apropriada
Objetivos
- Descrever o espectro de modelos de consistência do mais forte ao mais fraco
- Selecionar o modelo de consistência apropriado para um determinado requisito de aplicação
Conceitos-chave
- consistência forte
- consistência fraca
- read-your-writes
- monotonic reads
- consistência de sessão
- consistência causal
- serializabilidade
Consistência Eventual
Como sistemas eventualmente consistentes convergem, estratégias de resolução de conflitos incluindo last-write-wins e CRDTs, e os padrões de design de aplicação necessários para lidar com dados desatualizados
Objetivos
- Explicar como sistemas eventualmente consistentes convergem para um estado consistente
- Projetar estratégias de resolução de conflitos para sistemas com múltiplos escritores
Conceitos-chave
- consistência eventual
- resolução de conflitos
- last-write-wins
- CRDTs
- vector clocks
- read repair
- anti-entropia
Linearizabilidade e Consistência Sequencial
Linearizabilidade como a garantia de consistência de objeto único mais forte, seu custo em latência e disponibilidade, e a distinção em relação à serializabilidade para operações com múltiplos objetos
Objetivos
- Definir formalmente linearizabilidade e distingui-la de serializabilidade
- Avaliar o custo em latência e disponibilidade de impor linearizabilidade em produção
Conceitos-chave
- linearizabilidade
- consistência sequencial
- ordem total
- operações atômicas
- compare-and-swap
- bloqueio distribuído
- fencing tokens
2 · Replicação e Consenso4 tópicos
Estratégias de Replicação
Arquiteturas de replicação single-leader, multi-leader e leaderless — seus caminhos de escrita e leitura, garantias de durabilidade e trade-offs operacionais
Objetivos
- Comparar arquiteturas de replicação single-leader, multi-leader e leaderless
- Escolher uma estratégia de replicação de acordo com requisitos de durabilidade, latência e consistência
Conceitos-chave
- replicação single-leader
- replicação multi-leader
- replicação leaderless
- replicação síncrona
- replicação assíncrona
- leituras/escritas por quórum
- fator de replicação
Replication Lag e Anomalias
Os problemas causados pelo replication lag — violações de read-after-write, falhas de monotonic reads, violações de causalidade — e as técnicas para detectá-los e mitigá-los
Objetivos
- Identificar e diagnosticar anomalias de replication lag em sistemas de produção
- Implementar mitigações na camada de aplicação para problemas comuns de replication lag
Conceitos-chave
- replication lag
- consistência read-after-write
- monotonic reads
- violações de causalidade
- replication slots
- relógios lógicos
- monitoramento de lag
Eleição de Líder
Como sistemas distribuídos elegem e mantêm um líder — incluindo prevenção de split-brain, números de época, fencing e o papel de serviços externos de coordenação
Objetivos
- Explicar como a eleição de líder baseada em época previne cenários de split-brain
- Projetar um mecanismo de eleição de líder seguro sob partição de rede
Conceitos-chave
- eleição de líder
- split-brain
- números de época
- fencing tokens
- ZooKeeper
- etcd
- liderança baseada em lease
Replicação Multi-Leader e Leaderless
Topologias de replicação multi-datacenter, topologias circular e estrela, conflitos de escrita e sistemas leaderless (estilo Dynamo) com quóruns ajustáveis
Objetivos
- Projetar uma topologia de replicação multi-datacenter com resolução de conflitos bem definida
- Avaliar o trade-off entre consistência e disponibilidade em sistemas leaderless estilo Dynamo
Conceitos-chave
- replicação multi-datacenter
- detecção de conflitos de escrita
- topologia circular
- topologia estrela
- replicação estilo Dynamo
- sloppy quorum
- hinted handoff
3 · Escalabilidade e Desempenho4 tópicos
Sharding e Particionamento
Estratégias de particionamento de dados — por faixa, por hash e baseada em diretório — incluindo prevenção de hotspots, rebalanceamento e os desafios de consultas entre shards
Objetivos
- Selecionar uma estratégia de particionamento que evite hotspots considerando os padrões de acesso da carga de trabalho
- Projetar uma estratégia de rebalanceamento que minimize a movimentação de dados durante a expansão do cluster
Conceitos-chave
- particionamento horizontal
- particionamento por faixa
- particionamento por hash
- hotspots
- rebalanceamento
- consultas entre shards
- índices secundários em dados particionados
Hashing Consistente
Como o hashing consistente distribui carga e dados entre nós, nós virtuais para melhorar o balanceamento e sua aplicação em caches e bancos de dados distribuídos
Objetivos
- Explicar por que o hashing consistente minimiza a movimentação de dados quando nós são adicionados ou removidos
- Implementar nós virtuais para melhorar o balanceamento de carga entre hardware heterogêneo
Conceitos-chave
- hashing consistente
- anel de hash
- nós virtuais
- adição/remoção de nós
- movimentação mínima de dados
- distribuição de carga
- rendezvous hashing
Balanceamento de Carga
Algoritmos de balanceamento de carga — round-robin, least-connections, power-of-two-choices — verificação de saúde, afinidade de sessão e os trade-offs entre balanceamento de carga L4 e L7
Objetivos
- Comparar algoritmos de balanceamento de carga e explicar quando cada um é apropriado
- Projetar uma estratégia de balanceamento de carga para serviços stateful que exigem afinidade de sessão
Conceitos-chave
- round-robin
- least-connections
- power-of-two-choices
- verificações de saúde
- afinidade de sessão
- balanceamento de carga L4 vs L7
- balanceamento de carga ponderado
Cache Distribuído
Estratégias de invalidação de cache, prevenção de cache stampede, os padrões write-through vs write-behind vs cache-aside, e os desafios de consistência de cache distribuído
Objetivos
- Selecionar uma estratégia de invalidação de cache apropriada para um determinado requisito de consistência
- Projetar uma estratégia de aquecimento de cache que evite stampede em um cold start
Conceitos-chave
- invalidação de cache
- cache stampede
- cache write-through
- cache write-behind
- padrão cache-aside
- estratégia de TTL
- consistência de cache distribuído
4 · Confiabilidade e Tolerância a Falhas4 tópicos
Design de Tolerância a Falhas
Projetar sistemas que toleram falhas de nós, partições de rede e falhas parciais — incluindo redundância, degradação graciosa, bulkheads e análise de modos de falha
Objetivos
- Aplicar os padrões bulkhead e degradação graciosa para isolar domínios de falha
- Conduzir uma análise de modos de falha para um sistema distribuído com múltiplos serviços
Conceitos-chave
- tolerância a falhas
- redundância
- degradação graciosa
- padrão bulkhead
- análise de modos de falha
- FMEA
- falha parcial
Tolerância a Falhas Bizantinas
Falhas bizantinas em que nós enviam informações conflitantes ou maliciosas, o Problema dos Generais Bizantinos, algoritmos de consenso BFT e sua aplicabilidade em sistemas de produção
Objetivos
- Explicar o Problema dos Generais Bizantinos e por que a tolerância a falhas por crash é insuficiente para resolvê-lo
- Avaliar quando o consenso BFT é justificado em comparação ao consenso CFT padrão
Conceitos-chave
- tolerância a falhas bizantinas
- Problema dos Generais Bizantinos
- PBFT
- consenso BFT
- nós maliciosos
- modelos de confiança
- consenso em blockchain
Circuit Breakers e Timeouts
Máquinas de estado de circuit breaker (closed/open/half-open), design de timeouts, estratégias de retry com exponential backoff e jitter para evitar thundering herd na recuperação
Objetivos
- Implementar um circuit breaker com limiares e comportamento de recuperação apropriados
- Projetar uma estratégia de retry com jitter que evite thundering herd na recuperação do serviço
Conceitos-chave
- padrão circuit breaker
- estados closed/open/half-open
- design de timeouts
- exponential backoff
- jitter
- retry budgets
- thundering herd
Backpressure e Controle de Fluxo
Mecanismos de backpressure (contrapressão) para evitar sobrecarga entre produtor e consumidor, estratégias de rate limiting, load shedding e reactive streams para pipelines com controle de fluxo
Objetivos
- Projetar um mecanismo de backpressure para um pipeline assíncrono com throughput variável
- Selecionar um algoritmo de rate limiting apropriado para tráfego em rajadas e carga sustentada
Conceitos-chave
- backpressure
- controle de fluxo
- rate limiting
- load shedding
- token bucket
- leaky bucket
- reactive streams
5 · Sistemas de Armazenamento4 tópicos
Internals de Mecanismos de Armazenamento
Trade-offs entre mecanismos de armazenamento B-tree e LSM-tree, amplificação de leitura, amplificação de escrita, amplificação de espaço e por que cada mecanismo se adequa a diferentes perfis de carga de trabalho
Objetivos
- Comparar mecanismos B-tree e LSM-tree segundo o triângulo de amplificação leitura/escrita/espaço
- Selecionar uma arquitetura de mecanismo de armazenamento de acordo com a proporção leitura/escrita e as metas de latência da carga de trabalho
Conceitos-chave
- B-tree
- LSM-tree
- amplificação de leitura
- amplificação de escrita
- amplificação de espaço
- memtable
- SSTables
Write-Ahead Log (WAL)
Como o write-ahead logging garante recuperação de falhas, a replicação baseada em WAL, checkpointing e a interação entre o WAL e a durabilidade do mecanismo de armazenamento
Objetivos
- Explicar como o WAL garante durabilidade e viabiliza a recuperação de falhas
- Descrever como o PostgreSQL usa o WAL tanto para recuperação de falhas quanto para replicação por streaming
Conceitos-chave
- write-ahead log
- recuperação de falhas
- replicação baseada em WAL
- checkpointing
- log sequence number (LSN)
- fsync
- group commit
Compactação de LSM-Tree
Estratégias de compactação de LSM-tree — size-tiered, leveled e FIFO — seu impacto na amplificação de leitura/escrita, no uso de espaço e nos picos de latência em produção
Objetivos
- Comparar estratégias de compactação size-tiered e leveled para cargas de trabalho intensivas em leitura vs. escrita
- Diagnosticar e mitigar compaction debt que causa picos de latência em produção
Conceitos-chave
- compactação de LSM-tree
- compactação size-tiered
- compactação leveled
- compactação FIFO
- compaction debt
- bloom filters
- throttling de compactação
Armazenamento Colunar e OLAP
Layouts de armazenamento orientados a colunas, técnicas de compressão (run-length encoding, bitmap indexes), execução vetorizada e por que formatos colunares (Parquet, ORC) aceleram consultas analíticas
Objetivos
- Explicar por que o armazenamento colunar supera o armazenamento por linha em consultas OLAP intensivas em agregação
- Selecionar entre formatos de armazenamento por linha e colunar de acordo com os padrões de consulta da carga de trabalho
Conceitos-chave
- armazenamento colunar
- layout por linha vs por coluna
- run-length encoding
- bitmap indexes
- execução vetorizada
- Parquet
- pushdown de predicado
6 · Transações Distribuídas4 tópicos
ACID vs. BASE
As propriedades de transação ACID (atomicidade, consistência, isolamento, durabilidade) contrastadas com BASE (Basically Available, Soft state, Eventual consistency) e as implicações de design de cada modelo
Objetivos
- Definir as quatro propriedades ACID com exemplos concretos do que cada uma evita
- Escolher entre as abordagens ACID e BASE de acordo com os requisitos de consistência da aplicação
Conceitos-chave
- atomicidade
- consistência
- isolamento
- durabilidade
- BASE
- níveis de isolamento
- dirty reads
- phantom reads
Two-Phase Commit e Sagas
O protocolo two-phase commit para atomicidade distribuída, seus modos de falha (crash do coordenador, bloqueio) e o padrão saga como alternativa baseada em coreografia para transações de longa duração
Objetivos
- Explicar o modo de falha de bloqueio do 2PC e por que ele é problemático em sistemas de alta disponibilidade
- Projetar uma saga com transações compensatórias para um fluxo de processamento de pedidos com múltiplos serviços
Conceitos-chave
- two-phase commit
- fase de prepare
- fase de commit
- crash do coordenador
- protocolo de bloqueio
- padrão saga
- transações compensatórias
Algoritmos de Consenso (Paxos e Raft)
Os protocolos de consenso Paxos e Raft para alcançar acordo na presença de falhas, replicação de log, coordenação baseada em líder e sistemas de produção que os implementam
Objetivos
- Explicar as fases do consenso Raft — eleição de líder, replicação de log e segurança
- Comparar Paxos e Raft em termos de compreensibilidade e complexidade de implementação em produção
Conceitos-chave
- Paxos
- Raft
- replicação de log
- consenso baseado em líder
- quórum
- números de termo
- compactação de log com snapshots
Protocolos de Gossip e Associação a Cluster
Disseminação baseada em gossip para associação a cluster, detecção de falhas (protocolo SWIM) e epidemic broadcast — como protocolos descentralizados alcançam consistência eventual em clusters de grande escala
Objetivos
- Explicar como protocolos de gossip propagam informações e alcançam consistência eventual sem um coordenador central
- Descrever como o protocolo SWIM detecta e dissemina falhas de nós em clusters de grande escala
Conceitos-chave
- protocolo de gossip
- epidemic broadcast
- protocolo SWIM
- detecção de falhas
- detector de falhas phi accrual
- associação a cluster
- gossip de anti-entropia
Níveis: Júnior, Pleno, Sênior e Especialista
Explique com suas palavras
Corrigido por IA · sem cadastro · 1 perguntaSem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.
Já estuda Engenharia de Sistemas Distribuídos?
A avaliação mede tópico por tópico, e o plano pula o que você já sabe.
Aberto para ler. A conta só é necessária para ser medido.
Perguntas frequentes
Por onde começar a estudar Engenharia de Sistemas Distribuídos?
Comece por Modelos de Consistência de Dados: Teorema CAP, Modelos de Consistência e Consistência Eventual. O mapa ordena os tópicos pelo que depende de quê, então cada um prepara o seguinte.
Quanto tempo leva uma avaliação completa de Engenharia de Sistemas Distribuídos?
Uma avaliação completa desta trilha leva cerca de 60 minutos. O tempo de estudo depende de onde você começa; o diagnóstico mostra quais tópicos você pode pular.
Preciso de conta para usar esta página?
Não. O mapa, os objetivos e os conceitos-chave são abertos. A conta só é necessária para ser medido, ver seu gap por tópico e receber um plano.