Blog

Notes on DevOps, Kubernetes, self-hosted infrastructure and consulting.
9 posts tagged backend · clear filter
October 17, 2026
The Quiet Cause of Sporadic 502s: Idle Connection Timeouts and Keepalive Ordering
Load balancers, proxies and application servers close idle connections on different clocks. Get the order wrong and random 502s appear after quiet periods. The...
guvenilirlik backend performans
Read more →
October 15, 2026
The Get-or-Create Race: Duplicate Rows Under Concurrency, Unique Constraints and ON CONFLICT Traps
Check-then-insert is flawless for one request and quietly produces duplicates under parallel ones. Why application locks fall short, why a unique constraint is...
postgresql backend guvenilirlik
Read more →
October 13, 2026
Using Redis as a Data Store: Memory Policy, Persistence and Its Limits as a Queue
Redis arrives as a cache and ends up holding sessions and the job queue. Choosing maxmemory-policy, the cost of RDB versus AOF, what async replication loses, an...
redis backend performans
Read more →
October 8, 2026
The Real Client IP Behind a Reverse Proxy: X-Forwarded-For, Trusted Proxies and Spoofed Headers
Behind a proxy, an application only learns the client address from a header. Reading X-Forwarded-For from the right, defining trusted proxies by address, nginx,...
guvenlik backend altyapi
Read more →
October 1, 2026
The Transactional Outbox: Writing to a Database and a Queue Without Losing Events
Why commit-then-publish loses events, how to build an outbox table, whether to relay by polling or CDC, and how to avoid the sequence gap, duplicate delivery an...
mimari kuyruk backend
Read more →
September 30, 2026
API Rate Limiting: Token Buckets, Choosing the Right Key and Distributed Counter Pitfalls
Why fixed windows let twice the limit through, why the IP address is a poor key, how INCR plus EXPIRE in Redis can block a client forever, and why you should an...
api-tasarimi backend guvenilirlik
Read more →
September 28, 2026
PostgreSQL Connection Pooling: PgBouncer's Three Modes, the Prepared Statement Trap and Multi-Tenant Sizing
How to choose between session, transaction and statement modes, what breaks in transaction mode, why the prepared statement error only appears under load, and h...
postgresql performans multi-tenant
Read more →
September 25, 2026
Zero-Downtime Schema Migrations: Expand and Contract, Locks and PostgreSQL Pitfalls
Rolling deploys are not enough; a schema change breaks the moment old and new versions run side by side. How to migrate PostgreSQL without downtime using expand...
postgresql backend saas
Read more →
September 2, 2026
Queues and Async Job Processing: Where They Help, Where They Hurt
Pushing every slow operation into a queue does not remove complexity, it relocates it. A practical look at when async processing actually pays off, what deliver...
backend mimari kuyruk
Read more →
[ ← Back to burak.sh ]