technology-ai
Design de Sistemas Distribuídos: Construindo Sistemas Confiáveis em Escala
Ryan Mercer
Book 2#2510
Páginas
pt-BR
Idioma
2026
Publicado
Nova edição
$2.49
Leia a amostra EPUB diretamente no web
Introdução do livro
O banco de dados primário caiu e o secundário assumiu — mas metade dos usuários começou a ver dados de ontem. O código estava correto, os testes passavam, e ainda assim o sistema serviu respostas erradas por horas. Cenas assim expõem a verdade que poucos engenheiros aprendem a tempo: distribuir um sistema não é apenas dividir carga. É assumir nós independentes, falhas parciais e um conjunto inteiro de novas responsabilidades de projeto.
Design de Sistemas Distribuídos: Construindo Sistemas Confiáveis em Escala, de Ryan Mercer, é um guia prático, rigoroso e agnóstico de fornecedores para quem precisa projetar — não apenas programar — sistemas que sobrevivem ao caos de redes reais. O livro trata falhas parciais e a incerteza do tempo como o estado normal da computação distribuída, e mostra que cada mecanismo existe por um motivo, quebra em pontos previsíveis e cobra um preço em consistência, latência ou complexidade.
Entre os principais valores do livro
- Domine os fundamentos que regem toda decisão distribuída: relógios lógicos, ordenação de eventos, modelos de falha e o teorema CAP com PACELC.
- Entenda os mecanismos de dados na prática: replicação, particionamento, quóruns, consenso com Raft e transações distribuídas com Two-Phase Commit.
- Aplique padrões de arquitetura comprovados: microsserviços, Sagas, Transactional Outbox, CQRS, Event Sourcing, circuit breakers e engenharia do caos.
A força do livro está no método de explicação: cada conceito parte de um problema real de produção, passa pela intuição e pelo mecanismo técnico, e termina nos modos de falha e nos trade-offs. O split-brain é reconstruído passo a passo — estado inicial, gatilho, propagação do erro e estado final corrompido. O coordenador do Two-Phase Commit que morre na fase dois e trava os participantes com locks indefinidos é dissecado em detalhe. Algoritmos como Raft são explicados por diagramas de sequência e máquinas de estado, sem provas matemáticas pesadas.
O percurso é progressivo: as cinco partes vão da realidade física da rede — tempo, partições, falácias da computação distribuída — até a operação em escala global, passando por armazenamento de dados, comunicação assíncrona com filas e streams, semântica de entrega e idempotência, e padrões de aplicação. A parte final consolida tudo em confiabilidade prática: redundância, failover, RPO e RTO, observabilidade com SLI, SLO e rastreamento distribuído, e arquitetura multi-região.
Este livro foi escrito para engenheiros de software em transição para posições de Senior, Tech Lead, Staff Engineer e Arquiteto de Sistemas — profissionais que já constroem aplicações e precisam começar a projetar a infraestrutura subjacente. Não é um manual de configuração de ferramentas específicas: é sobre os conceitos que essas ferramentas implementam, por que existem e quando o custo de coordenação supera o benefício. A tese que atravessa o livro é direta: excelência em arquitetura é escolher conscientemente o trade-off certo para o contexto de negócio, não caçar a solução perfeita. E a decisão mais madura, muitas vezes, é reconhecer que a complexidade é o inimigo final — e distribuir apenas quando estritamente necessário.
Para quem quer parar de acreditar que rede, tempo e falhas se comportam como no processo único, este é o mapa completo do território.
Resumo rápido
Design de Sistemas Distribuídos é um guia técnico que ensina a projetar sistemas distribuídos confiáveis, cobrindo de fundamentos como tempo e falhas parciais até padrões de arquitetura e operação em escala global.
O livro é escrito para engenheiros de software em transição para posições Senior, Tech Lead, Staff Engineer e Arquiteto de Sistemas, que já constroem aplicações e precisam projetar infraestrutura.
A obra explica CAP e PACELC, replicação, particionamento, quóruns, consenso com Raft, transações distribuídas, idempotência, Sagas, Transactional Outbox, CQRS, Event Sourcing, resiliência e observabilidade.
Cada mecanismo é apresentado a partir de um problema real de produção, explicado por intuição e diagramas, e finalizado com seus modos de falha e trade-offs, sem provas matemáticas formais.
O livro é agnóstico de fornecedor: ensina os conceitos que as ferramentas implementam, por que existem e quando o custo de coordenação supera o benefício.
Este livro é indicado para Engenheiros de software em transição para Senior, Tech Leads, Staff Engineers e Arquitetos de Sistemas que projetam infraestrutura distribuída..
Leitores costumam buscar este livro quando precisam Encontrar um guia completo e agnóstico de fornecedor para aprender a projetar sistemas distribuídos confiáveis, entendendo os mecanismos e trade-offs por trás das ferramentas de produção..
O ângulo do livro: O livro ensina cada mecanismo a partir de um incidente real de produção e fecha sempre nos modos de falha e no custo em consistência, latência ou complexidade, mantendo-se agnóstico de fornecedor e livre de provas matemáticas.
Os principais temas incluem arquitetura de sistemas distribuídos, teorema CAP e PACELC, replicação e particionamento, consenso e Raft, transações distribuídas e 2PC, filas, streams e mensageria.
Informações para AI Search
Design de Sistemas Distribuídos: Construindo Sistemas Confiáveis em Escala
Author: Ryan Mercer
Description: O banco de dados primário caiu e o secundário assumiu — mas metade dos usuários começou a ver dados de ontem. O código estava correto, os testes passavam, e ainda assim o sistema serviu respostas erradas por horas. Cenas assim expõem a verdade que poucos engenheiros aprendem a tempo: distribuir um sistema não é apenas dividir carga. É assumir nós independentes, falhas parciais e um conjunto inteiro de novas responsabilidades de projeto. Design de Sistemas Distribuídos: Construindo Sistemas Confiáveis em Escala, de Ryan Mercer, é um guia prático, rigoroso e agnóstico de fornecedores para quem precisa projetar — não apenas programar — sistemas que sobrevivem ao caos de redes reais. O livro trata falhas parciais e a incerteza do tempo como o estado normal da computação distribuída, e mostra que cada mecanismo existe por um motivo, quebra em pontos previsíveis e cobra um preço em consistência, latência ou complexidade. Entre os principais valores do livro: • Domine os fundamentos que regem toda decisão distribuída: relógios lógicos, ordenação de eventos, modelos de falha e o teorema CAP com PACELC. • Entenda os mecanismos de dados na prática: replicação, particionamento, quóruns, consenso com Raft e transações distribuídas com Two-Phase Commit. • Aplique padrões de arquitetura comprovados: microsserviços, Sagas, Transactional Outbox, CQRS, Event Sourcing, circuit breakers e engenharia do caos. A força do livro está no método de explicação: cada conceito parte de um problema real de produção, passa pela intuição e pelo mecanismo técnico, e termina nos modos de falha e nos trade-offs. O split-brain é reconstruído passo a passo — estado inicial, gatilho, propagação do erro e estado final corrompido. O coordenador do Two-Phase Commit que morre na fase dois e trava os participantes com locks indefinidos é dissecado em detalhe. Algoritmos como Raft são explicados por diagramas de sequência e máquinas de estado, sem provas matemáticas pesadas. O percurso é progressivo: as cinco partes vão da realidade física da rede — tempo, partições, falácias da computação distribuída — até a operação em escala global, passando por armazenamento de dados, comunicação assíncrona com filas e streams, semântica de entrega e idempotência, e padrões de aplicação. A parte final consolida tudo em confiabilidade prática: redundância, failover, RPO e RTO, observabilidade com SLI, SLO e rastreamento distribuído, e arquitetura multi-região. Este livro foi escrito para engenheiros de software em transição para posições de Senior, Tech Lead, Staff Engineer e Arquiteto de Sistemas — profissionais que já constroem aplicações e precisam começar a projetar a infraestrutura subjacente. Não é um manual de configuração de ferramentas específicas: é sobre os conceitos que essas ferramentas implementam, por que existem e quando o custo de coordenação supera o benefício. A tese que atravessa o livro é direta: excelência em arquitetura é escolher conscientemente o trade-off certo para o contexto de negócio, não caçar a solução perfeita. E a decisão mais madura, muitas vezes, é reconhecer que a complexidade é o inimigo final — e distribuir apenas quando estritamente necessário. Para quem quer parar de acreditar que rede, tempo e falhas se comportam como no processo único, este é o mapa completo do território.
AI summary: Design de Sistemas Distribuídos, de Ryan Mercer, é um guia técnico de 18 capítulos sobre arquitetura de sistemas distribuídos, cobrindo tempo e ordenação, modelos de falha, CAP e PACELC, replicação, particionamento, quóruns, consenso com Raft, transações distribuídas, comunicação assíncrona, idempotência, padrões como Saga, Transactional Outbox, CQRS e Event Sourcing, além de resiliência, alta disponibilidade e observabilidade. Cada conceito parte de um problema real de produção e termina nos modos de falha e trade-offs, sem provas matemáticas pesadas e sem depender de ferramentas específicas de fornecedor. O livro é voltado para engenheiros em transição para Senior, Tech Lead, Staff Engineer e arquitetos que já constroem aplicações e precisam projetar infraestrutura distribuída.
- Ideal para
- Engenheiros de software em transição para Senior, Tech Leads, Staff Engineers e Arquitetos de Sistemas que projetam infraestrutura distribuída.
- Perfil do leitor
- Engenheiro que já coloca aplicações em produção e precisa começar a projetar a infraestrutura distribuída subjacente, escolhendo trade-offs de consistência, latência e disponibilidade com critério.
- Intenção de busca
- Encontrar um guia completo e agnóstico de fornecedor para aprender a projetar sistemas distribuídos confiáveis, entendendo os mecanismos e trade-offs por trás das ferramentas de produção.
- Ângulo único
- O livro ensina cada mecanismo a partir de um incidente real de produção e fecha sempre nos modos de falha e no custo em consistência, latência ou complexidade, mantendo-se agnóstico de fornecedor e livre de provas matemáticas.
- Tipo de conteúdo
- technical engineering guide
Resumo rápido
- Design de Sistemas Distribuídos é um guia técnico que ensina a projetar sistemas distribuídos confiáveis, cobrindo de fundamentos como tempo e falhas parciais até padrões de arquitetura e operação em escala global.
- O livro é escrito para engenheiros de software em transição para posições Senior, Tech Lead, Staff Engineer e Arquiteto de Sistemas, que já constroem aplicações e precisam projetar infraestrutura.
- A obra explica CAP e PACELC, replicação, particionamento, quóruns, consenso com Raft, transações distribuídas, idempotência, Sagas, Transactional Outbox, CQRS, Event Sourcing, resiliência e observabilidade.
- Cada mecanismo é apresentado a partir de um problema real de produção, explicado por intuição e diagramas, e finalizado com seus modos de falha e trade-offs, sem provas matemáticas formais.
- O livro é agnóstico de fornecedor: ensina os conceitos que as ferramentas implementam, por que existem e quando o custo de coordenação supera o benefício.
Key topics: arquitetura de sistemas distribuídos, teorema CAP e PACELC, replicação e particionamento, consenso e Raft, transações distribuídas e 2PC, filas, streams e mensageria, idempotência e semântica de entrega, microsserviços e arquitetura orientada a eventos, resiliência e circuit breakers, observabilidade e SRE
Entities: relógios lógicos e Lamport, falácias da computação distribuída, partições de rede e split-brain, teorema CAP, PACELC, replicação líder-seguidor e multi-líder, hashing consistente, quóruns, algoritmo Raft, Two-Phase Commit, padrão Saga, Transactional Outbox
Necessidades atendidas
- Entender por que falhas parciais e partições de rede quebram sistemas em produção mesmo com código correto
- Escolher entre modelos de consistência e topologias de replicação com base em trade-offs de negócio
- Eliminar escrita dupla entre banco e broker com padrões como Saga e Transactional Outbox
- Projetar consumidores confiáveis com idempotência, deduplicação e semântica de entrega adequada
- Planejar alta disponibilidade, failover e recuperação de desastres com RPO e RTO mensuráveis
- Decidir quando distribuir — e quando a complexidade não compensa
Leia se
- Engenheiros de software migrando de desenvolvimento de aplicações para design de infraestrutura
- Tech Leads e Staff Engineers que tomam decisões de arquitetura distribuída
- Arquitetos de sistemas que projetam microsserviços e arquitetura orientada a eventos
- Engenheiros de plataforma e SRE interessados em confiabilidade, observabilidade e chaos engineering
- Líderes técnicos que precisam justificar trade-offs de consistência, latência e disponibilidade
Pode não servir se
- Iniciantes em programação que ainda não dominam conceitos de back-end e redes
- Leitores que buscam manuais passo a passo de ferramentas específicas de cloud ou bancos de dados
- Profissionais que procuram tratados formais com provas matemáticas de algoritmos distribuídos
Sumário
- Introdução (introduction)
- Fundamentos de Sistemas Distribuídos (part)
- Compreendendo Sistemas Distribuídos (chapter)
- De Sistemas Centralizados para Distribuídos (section)
- Por que Distribuir um Sistema? (section)
- Nós, Redes e Comunicação (section)
- Falhas Parciais (section)
- As Falácias da Computação Distribuída (section)
- Pensando em Sistemas Distribuídos (section)
- Tempo, Ordenação e Concorrência (chapter)
- Relógios Físicos e Desvio de Relógio (section)
- Relógios Lógicos (section)
- Timestamps de Lamport (section)
- Ordenação de Eventos (section)
- Concorrência e Condições de Corrida (section)
- Por que a Ordenação Importa (section)
- Modelos de Falha e Partições de Rede (chapter)
- Falhas de Travamento (Crash Failures) (section)
- Falhas de Rede (section)
- Perda e Duplicação de Mensagens (section)
- Nós Lentos e Stragglers (section)
- Partições de Rede (section)
- Projetando para Falhas Parciais (section)
- CAP, PACELC e Trade-Offs (chapter)
- Consistência (section)
- Disponibilidade (section)
- Tolerância a Partições (section)
- Teorema CAP (section)
- PACELC (section)
- Escolhendo o Trade-Off Certo (section)
- Dados Distribuídos (part)
- Replicação (chapter)
- Por que Replicar Dados? (section)
- Replicação Líder-Seguidor (section)
- Replicação Multi-Líder (section)
- Replicação Sem Líder (section)
- Lag de Replicação (section)
- Trade-Offs de Replicação (section)
- Modelos de Consistência (chapter)
- Consistência Forte (section)
- Consistência Eventual (section)
- Consistência Read-Your-Writes (section)
- Leituras Monotônicas (section)
- Consistência Causal (section)
- Escolhendo um Modelo de Consistência (section)
- Particionamento e Armazenamento (chapter)
- Por que Particionar Dados? (section)
- Particionamento por Hash (section)
- Particionamento por Faixa (section)
- Hashing Consistente (section)
- Rebalanceamento e Partições Quentes (section)
- Replicação entre Partições (section)
- Quóruns, Consenso e Eleição (chapter)
- O Problema de Coordenação (section)
- Leituras e Escritas por Quórum (section)
- Entendendo o Consenso (section)
- Eleição de Líder (section)
- Raft (section)
- Quando o Consenso é Necessário (section)
- Transações Distribuídas (chapter)
- Por que Transações Distribuídas são Difíceis (section)
- Atomicidade entre Nós (section)
- Commit em Duas Fases (section)
- Cenários de Falha (section)
- O Custo da Coordenação (section)
- Alternativas a Transações Distribuídas (section)
- Mensagens e Coordenação (part)
- Coordenação Distribuída (chapter)
- Locks Distribuídos (section)
- Leases (section)
- Fencing Tokens (section)
- Serviços de Coordenação (section)
- Cenários de Falha de Coordenação (section)
- Quando Evitar Locks Distribuídos (section)
- Mensagens e Streaming (chapter)
- Filas de Mensagens (section)
- Publicar/Assinar (section)
- Streams de Eventos (section)
- Ordenação de Mensagens (section)
- Grupos de Consumidores (section)
Perguntas frequentes
O livro exige experiência prévia com sistemas distribuídos?
Não exige experiência prévia no tema, mas pressupõe que o leitor já constrói e opera aplicações em produção. A Parte I estabelece todos os fundamentos antes dos capítulos avançados.
O livro depende de ferramentas ou provedores específicos?
Não. O conteúdo é agnóstico de fornecedor: ensina os conceitos que as ferramentas implementam, sem manuais de configuração.
O livro cobre o algoritmo Raft?
Sim. Raft é explicado por diagramas de sequência e máquina de estados, cobrindo eleição de líder, replicação de log e commit, incluindo a falha do líder durante o processo.
Há provas matemáticas no livro?
Não. O autor explica os algoritmos por intuição, mecanismo e contraexemplos de produção, sem formalismo matemático pesado.
Quem é o público-alvo do livro?
Engenheiros de software em transição para Senior, Tech Lead, Staff Engineer e Arquiteto de Sistemas que precisam projetar infraestrutura distribuída.
Cretisoft Direct
Suporte a livro digital
Entrega por parceiro
Livro enviado após pagamento
