technology-ai

Design de Sistemas Distribuídos: Construindo Sistemas Confiáveis em Escala

Ryan Mercer

Book 2#2

510

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

  1. Introdução (introduction)
  2. Fundamentos de Sistemas Distribuídos (part)
  3. Compreendendo Sistemas Distribuídos (chapter)
  4. De Sistemas Centralizados para Distribuídos (section)
  5. Por que Distribuir um Sistema? (section)
  6. Nós, Redes e Comunicação (section)
  7. Falhas Parciais (section)
  8. As Falácias da Computação Distribuída (section)
  9. Pensando em Sistemas Distribuídos (section)
  10. Tempo, Ordenação e Concorrência (chapter)
  11. Relógios Físicos e Desvio de Relógio (section)
  12. Relógios Lógicos (section)
  13. Timestamps de Lamport (section)
  14. Ordenação de Eventos (section)
  15. Concorrência e Condições de Corrida (section)
  16. Por que a Ordenação Importa (section)
  17. Modelos de Falha e Partições de Rede (chapter)
  18. Falhas de Travamento (Crash Failures) (section)
  19. Falhas de Rede (section)
  20. Perda e Duplicação de Mensagens (section)
  21. Nós Lentos e Stragglers (section)
  22. Partições de Rede (section)
  23. Projetando para Falhas Parciais (section)
  24. CAP, PACELC e Trade-Offs (chapter)
  25. Consistência (section)
  26. Disponibilidade (section)
  27. Tolerância a Partições (section)
  28. Teorema CAP (section)
  29. PACELC (section)
  30. Escolhendo o Trade-Off Certo (section)
  31. Dados Distribuídos (part)
  32. Replicação (chapter)
  33. Por que Replicar Dados? (section)
  34. Replicação Líder-Seguidor (section)
  35. Replicação Multi-Líder (section)
  36. Replicação Sem Líder (section)
  37. Lag de Replicação (section)
  38. Trade-Offs de Replicação (section)
  39. Modelos de Consistência (chapter)
  40. Consistência Forte (section)
  41. Consistência Eventual (section)
  42. Consistência Read-Your-Writes (section)
  43. Leituras Monotônicas (section)
  44. Consistência Causal (section)
  45. Escolhendo um Modelo de Consistência (section)
  46. Particionamento e Armazenamento (chapter)
  47. Por que Particionar Dados? (section)
  48. Particionamento por Hash (section)
  49. Particionamento por Faixa (section)
  50. Hashing Consistente (section)
  51. Rebalanceamento e Partições Quentes (section)
  52. Replicação entre Partições (section)
  53. Quóruns, Consenso e Eleição (chapter)
  54. O Problema de Coordenação (section)
  55. Leituras e Escritas por Quórum (section)
  56. Entendendo o Consenso (section)
  57. Eleição de Líder (section)
  58. Raft (section)
  59. Quando o Consenso é Necessário (section)
  60. Transações Distribuídas (chapter)
  61. Por que Transações Distribuídas são Difíceis (section)
  62. Atomicidade entre Nós (section)
  63. Commit em Duas Fases (section)
  64. Cenários de Falha (section)
  65. O Custo da Coordenação (section)
  66. Alternativas a Transações Distribuídas (section)
  67. Mensagens e Coordenação (part)
  68. Coordenação Distribuída (chapter)
  69. Locks Distribuídos (section)
  70. Leases (section)
  71. Fencing Tokens (section)
  72. Serviços de Coordenação (section)
  73. Cenários de Falha de Coordenação (section)
  74. Quando Evitar Locks Distribuídos (section)
  75. Mensagens e Streaming (chapter)
  76. Filas de Mensagens (section)
  77. Publicar/Assinar (section)
  78. Streams de Eventos (section)
  79. Ordenação de Mensagens (section)
  80. 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.

C

Cretisoft Direct

Suporte a livro digital

T

Entrega por parceiro

Livro enviado após pagamento

Sample EPUB

Read sample online

Design de Sistemas Distribuídos: Construindo Sistemas Confiáveis em Escala

Você também pode gostar

Com base no seu histórico de leitura

Ver tudo