KRKashif Rezainarchitecture-in-practice.hashnode.dev·4d ago · 7 min readHandling Duplicate Events Safely with IdempotencyIn the previous article, we looked at retries and DLQ. Retries help you recover from temporary failures. But they also create a new risk: The same event may be delivered, retried, or processed more t00
KRKashif Rezainarchitecture-in-practice.hashnode.dev·4d ago · 8 min readRetry Strategy in Event-Driven Systems: Resilience or Retry Storm? Retries usually start with good intent. Typical transient failures in distributed systems A network call times out.A database becomes slow.A downstream API is unavailable. These are not edge cases. T10
KRKashif Rezainarchitecture-in-practice.hashnode.dev·Sep 3 · 10 min readClosing the Gap Between DB Commit and Event Publishing with the Outbox PatternHow the Outbox Pattern makes event publishing durable after a business transaction succeeds In the previous article, we saw a dangerous failure window: Save business data Commit DB transaction Publish00
AAAwais Ahmadinblog.itsahmadawais.com·Jun 19 · 6 min readHow Software Systems Evolve: From MVP to Modern ArchitecturesMost system design discussions jump straight into complex architecture patterns—monoliths, microservices, event-driven systems, and distributed databases. But in real engineering, systems don’t begin 00
HGHarrison Guoinharrisonsec.hashnode.dev·May 14 · 18 min readChannels Aren't Message Passing — How Parked Goroutines OOM-Killed a PodIt's 3am. The Kafka consumer pod that's been running cleanly for six weeks gets OOM-killed. Kubernetes restarts it. Five minutes later: OOM-killed again. Restart. OOM-killed a third time. By the fourt00
AJAkshat Jaininakshatjme.hashnode.dev·May 9 · 3 min readScaling Myths That Mislead DevelopersWhy common assumptions about scaling lead to fragile systems Scaling is often seen as a technical problem. More users arrive, and the system needs to handle increased load. However, many scaling failures are not caused by lack of resources.They are c...00
ATAditya Trivediinadityatrivedi.hashnode.dev·May 7 · 7 min readLeetcode System DesignThe first thing people usually do while designing systems is jump directly into databases, microservices, Kubernetes, Redis, queues, and scaling. That is the wrong approach. When designing systems lik00
AJAkshat Jaininakshatjme.hashnode.dev·May 7 · 3 min readWhy Your APIs Feel Slow (Even When They Aren’t)Understanding the gap between actual performance and perceived latency In previous parts, we explored how backend systems behave under load and how design decisions impact performance. However, not all performance issues come from slow systems. In ma...00
AJAkshat Jaininakshatjme.hashnode.dev·May 3 · 3 min readObservability: You Can’t Fix What You Can’t SeeUnderstanding system behavior beyond logs and dashboards In previous parts, we explored how systems fail under load and how design decisions influence performance. But identifying failures is a different challenge. A system may be slow, unstable, or ...00
AJAkshat Jaininakshatjme.hashnode.dev·May 1 · 3 min readLoad Testing: Why Most Developers Do It WrongWhy testing for stability often hides the real limits of your system In previous parts, we explored how systems behave under pressure. Load testing is meant to reveal those behaviors before they appear in production. However, many systems still fail ...00