Tag
© 2026 Hashnode
Source: Techniques: How to design versioned commands so retries stay safe under concurrent modification? 1. Opening: when retries hurt Start with a familiar failure: you design a retry loop to make an operation resilient. It retries on transie...

Source: Reasons Java services get slower after a few hours: How to find thread pool saturation? You boot a service at 03:00 and it behaves beautifully: sub-second responses, healthy throughput. By noon, requests start lagging. After an outage ticke...

Source: Ways to Invalidate Derived Caches Without Creating a Distributed Guessing Game You’ve likely seen it: a derived cache (an aggregate, a denormalized view, or a materialized snapshot) starts drifting from its authoritative sources. Teams reac...

Source: Methods to Handle Time Drift Issues in Distributed Systems Many production incidents start with a moment of cognitive dissonance: logs from service A show an event happening "after" an event in service B, but tracing reveals the opposite. D...

Source: Methods to Prevent Duplicate Cron Execution Across Multiple Spring Boot Instances Modern cloud deployments scale application pods horizontally. A cron defined with Spring's @Scheduled suddenly runs N times — once per pod — unless you design...

Source: Methods to Handle Zombie Requests After the User Already Closed the Browser 1. An opening scenario (why the problem matters) Browsers close all the time — users switch tabs, hit the X, or their laptop goes to sleep. For many web applic...

Source: Reasons Thread Pool Misconfiguration Creates Fake Throughput in Java Backends 1. A quiet alarm: why you shouldn't trust requests/sec alone In a production incident I investigated, dashboards showed impressive requests/sec during a sudd...
