Dilshod.dev
Tags

#backend

9 articles

backendpayments

Shadow Mode: Proving New Code Before You Trust It

New payment confirmation code ran in production on Joytop for a week in shadow mode — deciding nothing, only watching. Tomorrow it becomes the one that decides. What shadow mode actually does, what it protects against, and why you can't turn it on without watching it.

3 min read
system-designbackend

The Payment That Charged Twice

A retry is not a duplicate request — until it is. How idempotency keys actually work, why the naive version still double-charges, and the exact Postgres constraint that makes the guarantee real.

8 min read
backendredis

Cache Invalidation, In Practice

The joke says it's one of the two hard problems. The reality is that most teams never write an invalidation strategy at all — they write a TTL and hope. Here is what the alternatives actually cost.

9 min read
postgresqldatabases

The Index That Does Nothing

You added the index, ran the query, and it is still slow. The planner is not ignoring you — it is telling you something about your data, your column order, or your types. Here is how to read what it says.

12 min read
backendnodejs

Background Jobs That Survive a Crash

A deploy restarted the workers mid-flight and the emails were simply gone. What it takes to build a queue where a dead process is a delay, not a data loss.

13 min read
architecturepayments

Idempotency Is Not a Header. It Is a Contract.

Every payment provider tells you to make your webhook idempotent. Almost nobody tells you what that actually requires — which is a decision about identity, a decision about state, and a place to put the evidence.

6 min read
architecturepostgresql

One Missing WHERE Clause

Tenant isolation held together by developer discipline will eventually fail, because it only takes one query. Here is how to push the boundary down into Postgres so forgetting stops being possible.

11 min read