Skip to content

Commit 78667d6

Browse files
committed
GEP-3388 HTTP Retry Budget API Design
1 parent e8ccbe1 commit 78667d6

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

geps/gep-3388/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ By default, Envoy uses a static threshold for retries. But when configured, Envo
4949

5050
The Linkerd implementation of retry budgets is configured alongside service route configuration, within the [ServiceProfile CRD](https://linkerd.io/2.12/reference/service-profiles/), limiting the number of total retries for a service as a percentage of the number of recent requests. In practice, this functions similarly to Envoy's retry budget implementation, as it is configured in a single location and measures the ratio of retry requests to original requests across all traffic destined for the service.
5151

52-
Linkerd uses [budgeted retries](https://linkerd.io/2.15/features/retries-and-timeouts/) as the default configuration to specify retries to a service, but - as of [edge-24.7.5](https://github.com/linkerd/linkerd2/releases/tag/edge-24.7.5) - supports counted retries. In all cases, retries are implemented by the `linkerd2-proxy` making the request on behalf on an application workload.
52+
Usage of the ServiceProfile CRD is significantly rarer today, given Linkerd's support for per-route configuration through Gateway API Route resources. Though historically, [retry budgets](https://linkerd.io/2.15/features/retries-and-timeouts/) were the default configuration to specify retries to a service, with support for counted retries later being add in [edge-24.7.5](https://github.com/linkerd/linkerd2/releases/tag/edge-24.7.5). In all cases, retries are implemented by the `linkerd2-proxy` making the request on behalf on an application workload.
5353

5454
Linkerd's budgeted retries allow retrying an indefinite number of times, as long as the fraction of retries remains within the budget. Budgeted retries are supported only using Linkerd's native ServiceProfile CRD, which allows enabling retries, setting the retry budget (by default, 20% plus 10 "extra" retries per second), and configuring the window over which the fraction of retries to non-retries is calculated. The `retryBudget` field of the ServiceProfile spec can be configured with the following optional parameters:
5555

0 commit comments

Comments
 (0)