Tail latency in sharded search

DesignHard45 minGoogle style

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