PostgreSQL HA
2021.074Streaming replication, automated failover, and the operational lessons that aren't in the PostgreSQL docs -- split-brain, silent lag, and why DR drills matter more than DR plans.
Streaming replication, automated failover, and the operational lessons that aren't in the PostgreSQL docs -- split-brain, silent lag, and why DR drills matter more than DR plans.
The first migration had a platform on fire. The second has one that works. That is the harder one.
The board put us ahead of every customer ticket - until it stayed green while the data underneath it went wrong.
Autoscale never helped in the time of crisis. What helped was prescaling -- capacity ready before the traffic arrives.
Service discovery, health checks, and dynamic config across a growing fleet of microservices -- and the moment KV store got too popular.
How a growing team adopted Go -- not through boot camps, but through code review, shadowing, and a compiler that wouldn't let anyone be sloppy.
Transaction pooling, one SET that didn't stick, and a standup that moved on.
A GraphQL gateway that started as a unified API layer for clients became the place where we could intervene without touching the backends.
The prep runs out ninety minutes in. The rest is improvised on a floor where nobody leaves.
I've built a rules engine twice, in two languages, at two scales. The tree is the same.
What a digital wallet looks like underneath -- a balance, a ledger, idempotency keys, and the gap between moving money and moving money correctly.
We wired physical lights to 5xx alerts. It changed how the team reacts to production issues.
Algorithm selection, passive health checking, per-endpoint rate limiting, and upstream timing -- the decisions that matter when Nginx sits in front of production traffic.
Picking the first piece to cut from a Perl monolith, rewriting it in Go, and switching over before you lose your nerve.
Migrating a payment processing API from Node.js to Go -- what changed, what improved, and what we gave up.
What a codebase looks like when two people build everything -- 350 commits, and a todo list with two items.
Why a graph database was the only sane choice for a social feed where the interesting question isn't what your friends posted, but what your friends' friends are doing this Saturday.
Adding businesses to a social platform built on Neo4j -- and realizing both sides of the marketplace use the same graph patterns.
Two people, one Express app, and eight middleware functions between the request and the response.
Turning months of git commits into an animated video with Gource and ffmpeg -- then opening the weekly sharing session with it.