Blog
Sistemas Distribuídos
Para quem já sabe o básico e quer ir fundo. Aqui o assunto é como os modelos funcionam em produção: memória, roteamento, ferramentas, agentes. O lado técnico que pouca gente explica direito.
⚖️ CAP e PACELC: o teorema que define toda arquitetura distribuída
Partition tolerance, availability, consistency — e por que você sempre escolhe entre 2. PACELC estende para latência. Decisões reais: Dynamo vs Spanner, Cassandra vs HBase.
🔄 Modelos de Consistência: strong, eventual, causal, read-your-writes
Linearizability, sequential consistency, causal, eventual. Session guarantees (read-your-writes, monotonic reads, bounded staleness). Qual usar em cada cenário.
🗳️ Consensus e Raft: como nós discordam e chegam a acordo
FLP impossibility, intuição do Paxos, Raft explicado (leader election, log replication, safety). Por que etcd, Consul, K8s, CockroachDB usam Raft.
🔁 Idempotência e Retries: o antídoto pra rede que quebra
Idempotency keys, exponential backoff com jitter, circuit breaker, deadline propagation, dedup via Redis/Postgres, at-least-once vs exactly-once.
🪢 Sagas vs 2PC: transações distribuídas sem perder o sono
Por que 2PC trava tudo, saga orchestration vs choreography, compensating actions, outbox pattern, idempotência nas compensações.
📜 Event Sourcing e CQRS: quando eventos são a fonte da verdade
Event log como source of truth, projections, CQRS (command vs query), event store (Kafka, EventStoreDB), vantagens, armadilhas, quando evitar.
🐘 Postgres Profundo: MVCC, Isolation Levels e Locks
Como MVCC funciona por dentro, read committed vs repeatable read vs serializable, SELECT FOR UPDATE, advisory locks, VACUUM e bloat.
🚦 Rate Limiting Distribuído: token bucket, sliding window, Redis
Token bucket, leaky bucket, sliding window log, sliding window counter, implementação com Redis + Lua script atômico, distributed rate limit em produção.