Tail latency in sharded search
Your task
Design tail-latency control for a sharded search system where a single query fans out to 200 shards and the response can only return once every shard replies, so the slowest shard (the straggler) sets the user-visible latency, and at 200 shards p99-per-shard becomes near-certain on every query. The product needs a hard p99 < 150ms even when a few shards are slow (GC pause, hot partition, a degraded node). How do you stop one slow shard from dictating every query's latency, while keeping results good enough?
It covers
- Query latency tail
- Partial results
- Graceful degradation