KNOWLEDGE / 01
Engineering
notes.
Practical writing on backend development, architecture, and operating Go services: Kafka, PostgreSQL, service boundaries, and event delivery.
- ARTICLE ↗
Sharding PostgreSQL Under Load After Cheaper Options Are Exhausted
How to prove that sharding is necessary, choose a durable shard key, and account for routing, cross-shard operations, migration, and rebalancing.
- ARTICLE ↗
State and Compensations in a SAGA Orchestrator Across Microservices
How to persist long-running process state, retry commands, and design compensations when participants return delayed, failed, or ambiguous outcomes.
- ARTICLE ↗
Evolving gRPC Contracts Without Releasing Every Service Together
How to change protobuf schemas and method semantics across independent releases using compatible fields, migration windows, contract tests, and safe removal.
- ARTICLE ↗
Observing an Asynchronous Flow from Consumer Lag to Business Invariants
How to connect Kafka, outbox, consumer, and domain metrics to distinguish temporary lag from event loss and silently stalled processing.
- ARTICLE ↗
Reliable Kafka Integrations Without the Illusion of Exactly-Once Delivery
A practical Kafka integration model built around transactional outbox, idempotent consumers, retries, DLQs, and metrics that expose lost events.
- ARTICLE ↗
PostgreSQL Under Real Load: Query Plans, Indexes, and the Cost of Each Fix
How to connect a slow production operation to its query plan, choose the right index, and account for locking, write overhead, and operations.
- ARTICLE ↗
Microservice Boundaries That Do Not Create a Distributed Monolith
A practical way to define microservice boundaries through data ownership, business invariants, synchronous dependencies, and independent change.
- ARTICLE ↗
Transactional Outbox in Go with Atomic Writes and Controlled Retries
How to connect PostgreSQL changes to Kafka publishing, survive relay retries and failures, and treat at-least-once delivery as an explicit design constraint.
- ARTICLE ↗
Offline-First Device Sync and Event Delivery Over Unreliable Networks
How to design a durable device queue, idempotent server intake, receipts, and state reconciliation so reconnects do not lose or duplicate operations.