The Transactional Outbox in Go: Reliable Event Publishing Without Distributed Transactions
Here is one of the oldest bugs in distributed systems, still shipping to production every week: a service commits a
Here is one of the oldest bugs in distributed systems, still shipping to production every week: a service commits a
# POST 1: Transactional Outbox (Slot 10 backend) You update a row in your database, then publish an event to
Continue readingThe Transactional Outbox Pattern in Go: Reliable Events Without Dual Writes
Solve the dual-write problem with one extra table and SKIP LOCKED: a working Go implementation of the transactional outbox, plus the delivery-semantics gotchas that bite in production. … Continue readingThe Transactional Outbox Pattern: Reliable Events Without Distributed Transactions
Most CRUD applications follow a predictable pattern: a single database table serves both reads and writes, the same model validates
Continue readingCQRS and Event Sourcing in Go: Building Systems That Remember Every Decision
Every production database tells a continuous story — orders placed, statuses updated, accounts created. But most applications treat their database
Continue readingChange Data Capture with Debezium: Streaming Database Changes to Kafka
Most systems today use CRUD: read the current state, modify a row, write it back. The database remembers where things
Continue readingEvent Sourcing in Practice: Building a System That Never Forgets
Distributed transactions are one of those problems that look simple until you split your monolith into services. In a single
Continue readingThe Saga Pattern: Coordinating Distributed Transactions in Microservices
Every application that updates a database and then does something else — pushes to a search index, invalidates a cache,
Continue readingChange Data Capture with PostgreSQL and Debezium: Building Reliable Event Pipelines
Most applications start with a simple mental model: one database, one set of tables, and CRUD operations that read and
Continue readingCQRS in Practice: Splitting Reads and Writes for Scalable Systems
Every developer who has worked with microservices eventually hits the same wall: a single business operation needs to touch multiple