Writing · № 03
All posts
Long-form notes on software, distributed systems, and the craft of building. Shipping one a week.
All Posts
22 posts · Engineering
Engineering01
The Transactional Outbox Is Not a Queue
The transactional outbox is a ledger, not a queue. Treating it like one is what breaks Postgres under load. This post walks through the specific failure modes — autovacuum stalls, xmin horizon drift, replication slot lag, poison pills — and the operational rules that actually keep it working in production.
Engineering02
Virtual Threads After JEP 491: The Bottleneck Moved
JEP 491 removed the `synchronized` pinning problem that kept virtual threads out of production. The interesting question now isn't whether to enable them — it's which bottleneck shows up next. A field guide for Spring Boot / Kotlin services running on JDK 24+.
Previous3 / 3