Distributed Rate Limiting in Go: GCRA, Redis, and the Pitfalls Nobody Warns You About
Every production rate limiter has two layers. The first layer is the algorithm: token bucket, leaky bucket, fixed window, sliding
Every production rate limiter has two layers. The first layer is the algorithm: token bucket, leaky bucket, fixed window, sliding
Every analytics dashboard has one question that looks trivial and isn’t: how many unique users did this? You can run
Continue readingHyperLogLog: Counting a Billion Uniques in 1.5 KB of Memory
You hit “Place Order,” the spinner hangs for ten seconds, and you tap the button again. Now the fear sets
Continue readingIdempotency Keys Done Right: Building Retry-Safe APIs That Never Double-Charge
Almost every service that survives its own traffic eventually grows a cache. The idea is simple: the database is slow
Every few months, another beloved open source project announces a license change. The blog post is polished, the reasoning sounds
Every web developer has been there: a user clicks “Submit Payment” and nothing happens. The spinner keeps spinning. They click
Continue readingIdempotency Keys: Making Your API Safe for Retries
Every public API has a ceiling. Whether you’re running a SaaS platform, a microservice cluster, or a simple REST endpoint,
Network requests fail. Timeouts happen. Retries are inevitable. If your API charges a customer’s credit card twice because a TCP
Continue readingBuild APIs That Survive Retries: Idempotency Keys in Go