Hedged Go GRPC client which helps to reduce tail latency at scale.
See paper Tail at Scale by Jeffrey Dean, Luiz André Barroso. In short: the client first sends one request, but then sends an additional request after a timeout if the previous hasn't returned an answer in the expected time. The client cancels remaining requests once the first result is received.
See also hedgedhttp for Go net/http
.
- Simple API.
- Easy to integrate.
- Optimized for speed.
- Clean and tested code.
Go version 1.17+
go get github.com/cristalhq/hedgedgrpc
Also see examples: examples_test.go.
See these docs.