Blog
Tech: lessons from production
Short, practical posts on backend architecture, databases, payments and AI systems. Most come with a 1-minute video.
10,000 tasks
200 threads ≈ 50 s
virtual ≈ 1 s
▶ 1-min video inside200 threads ≈ 50 s
virtual ≈ 1 s
Tech · 7 min read ·
Java virtual threads: 50× more throughput, with almost no code change
Java 21 virtual threads let a server handle thousands of waiting requests on a few OS threads. How they work, a simple benchmark, and the two traps: pinning and database limits.
SAVED ✓
SENT ✗
▶ 1-min video insideSENT ✗
Tech · 6 min read ·
The dual-write problem: why your order saves but the event never arrives
Writing to a database and then publishing to Kafka, RabbitMQ or SQS can silently lose events. Learn why, and how the transactional outbox pattern fixes it.
1 primary.
3 replicas. 2 traps.
▶ 1-min video inside3 replicas. 2 traps.
Tech · 5 min read ·
Read replicas: two production traps nobody warns you about
Read replicas take load off your primary database, but replication lag causes stale reads and gets worse under load. Two production traps and how to avoid them.