Pular para o conteúdo

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.

6
módulos
24
tópicos
60
min para avaliar

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 pergunta

Sem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.

0 / 600

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.