Don't add a read replica until you've read this
shintoist
14 points
6 comments
July 21, 2026
Related Discussions
Found 5 related stories in 410.9ms across 14,369 title embeddings via pgvector HNSW
- Committing to Git: Rebuilding ReadMe on Git gkoberger · 11 pts · July 21, 2026 · 42% similar
- --dangerously-skip-reading-code fagnerbrack · 133 pts · May 23, 2026 · 41% similar
- Redis and the Cost of Ambition maxloh · 36 pts · May 13, 2026 · 41% similar
- Prefer duplication over the wrong abstraction (2016) rafaepta · 453 pts · June 21, 2026 · 41% similar
- Show HN: Learn by rebuilding Redis, Git, a database from scratch acley · 146 pts · July 11, 2026 · 40% similar
Discussion Highlights (4 comments)
lawrjone
I work with Johanna (author) on the incident team. It’s been pretty cool watching this roll out, been particularly great that I’ve barely had to think about the replicas when working with the code. The wiring to route to either replica or primary is very transparent. Seen this done several times before and it’s never been quite as easy to have your code just do the Right Thing.
joehart
Its a shame they didn't go with a Bladerunner replicant pun for the title. "I've seen database performance you wouldn't believe"
rorymalcolm
Disclaimer: I worked with Johanna on this I had a lot of fun “long tail whackamoling” our way through edge queries that our model of “this is eligible for a read replica” wasn’t accurately catching. Honestly just one of those “keep reading traces and working through them” development processes that just keeps drive a graph down and to the right.
patrickhamann
Disclosure: I work at incident.io with the author. My favourite part of how we implemented this is that consistency stopped being something engineers had to continuously think about and became part of the Go context object in our codebase; so any subsequent write in the same context taints without them having to think, and tainted reads go to the primary.