Distributed Systems
· Padrão Frontend
This page hasn't been translated to English yet — showing the original Portuguese content.

Andrew S. Tanenbaum, Maarten van Steen · 3ª edição, 2017 · ISBN 978-1543057386
O texto-base acadêmico sobre sistema distribuído — qualquer coisa que envolva mais de uma máquina se comunicando (um front chamando uma API já é o caso mais simples desse espectro). Cobre desde os princípios (por que distribuir é difícil) até os padrões de solução (replicação, tolerância a falha, coordenação) que aparecem disfarçados em praticamente toda ferramenta de infraestrutura moderna.
Assuntos principais
- Arquiteturas — cliente-servidor, peer-to-peer, arquitetura em camadas — o vocabulário que descreve como este próprio projeto está organizado (browser → API Rails, sem camada intermediária, ver BFF).
- Comunicação — RPC, mensageria, multicast — os mecanismos por trás
de qualquer
fetch(). - Nomeação — como um sistema encontra outro (DNS é o exemplo mais familiar), relevante pra qualquer discussão de proxy/roteamento.
- Coordenação — relógio lógico, eleição de líder, exclusão mútua distribuída — a base teórica de "como dois processos concordam sobre algo sem compartilhar memória".
- Replicação e tolerância a falha — o que acontece quando uma parte do sistema para de responder, e como o resto continua funcionando (ou não).
- Segurança — autenticação, controle de acesso e canal seguro em sistema distribuído — a mesma preocupação de CORS e CSP, em escala maior.
Onde aparece no padrão frontend
- Reverse Proxy — um proxy é uma peça clássica de arquitetura distribuída, coberta em profundidade no capítulo de arquiteturas.
- CORS — same-origin policy é, na prática, uma política de segurança entre dois sistemas distribuídos (o browser e a API).
Leitura de apoio
- distributed-systems.net — página oficial da 3ª edição, com material de apoio gratuito.