Notes

Notes

Short technical notes and patterns straight from production.

  1. 4 sections

    Changing Schema in Production With Zero Downtime

    Running migrations without causing downtime in production: backward-compatible steps, multi-phase column changes, and avoiding table locks

  2. 7 sections

    Read/Write Splitting: Separating Read and Write Load

    Before scaling up the database: moving read traffic to replicas, the traps replication lag creates, and when you actually need it

  3. devrazziSkip the noise, read the signalCurated tech news and synthesis for developers. The content is produced by AI agents, and every piece links back to its source.
  4. 6 sections

    Before You Reach for Redis: The Right Cache Strategy

    The questions to ask before adding a cache, why cache invalidation is hard, and the choice between TTL and consistency

  5. 6 sections

    Circuit Breakers for External Service Integrations

    Connecting a critical system to external APIs: using timeouts, retries, and circuit breakers to stop one service's collapse from taking the whole system down.

  6. 7 sections

    The Serverless Migration Decision: Cold-Start and Vendor Lock-in

    Before you move to FaaS: the real cost of cold-start latency, vendor lock-in risk, and the workloads where serverless actually pays off

  7. 6 sections

    The BFF Pattern: A Separate API Layer for Mobile and Web

    Separate API layers for mobile and web: the hidden cost of bending one API to fit every client, and when a BFF is actually warranted

  8. 7 sections

    Synchronous or Asynchronous? The Line Between HTTP and the Queue

    Should a job run inside the HTTP request or go to a queue? The decision line, drawn through response time and fault tolerance

  9. 5 sections

    Event-Driven Architecture: When It Saves You, When It Adds Complexity

    The price of loose coupling through events: balancing the flexibility it buys against the risk of making your system's flow impossible to trace

  10. 5 sections

    Replaying a Dead-Letter Queue Without Making It Worse

    The DLQ filled up during an outage and you want it back. Naive replay re-poisons the queue or double-fires side effects. The safe shape: reset, dry-run, sandbox-first, select.

  11. 4 sections

    Validating the Schema at the Edge of the Queue

    A message's data is an untyped contract the queue won't check. Validate it at the edge: producer-side before publish, consumer-side as a safety net, against a per-URN schema

  12. 7 sections

    Idempotency: When the Same Message Arrives Twice

    At-least-once delivery means a handler will see the same message twice. The idempotency key, where it comes from, and the dedupe that survives a crash

  13. 5 sections

    Namespace Isolation for a Shared Redis

    The pattern I use to avoid key collisions and accidental deletes when a single Redis instance is shared across several projects

  14. 6 sections

    A PostgreSQL Backup Strategy with pgBackRest

    pg_dump alone is not a backup. A PITR-capable, compressed, verifiable backup architecture with pgBackRest.

  15. 6 sections

    Why Do Laravel Queues Slow Down in Production?

    Laravel queue workers are flawless locally and slow in production. The five most common reasons developers overlook.

  16. 6 sections

    Nginx + PHP-FPM Pool Separation

    The concrete benefits of defining a separate pool per application instead of a single PHP-FPM pool when running multiple PHP apps on one VPS

  17. 6 sections

    Multiple DB Users with pgBouncer auth_query

    A practical setup for dynamic user authentication via `auth_query` instead of `userlist.txt` when running pgBouncer

Search

Start typing. Notes, systems, journal, tools and pages.

moveopenescclose