Consolidate retries across Dapr (Finish retry across all building blocks (service invocation, state management))
#1.289 aberto em 19 de mar. de 2020
Métricas do repositório
- Stars
- (25.672 stars)
- Métricas de merge de PR
- (Mesclagem média 2d 19h) (63 fundiu PRs em 30d)
Description
Today, there are 2 places for retries in Dapr:
The first is service invocation, which will retry based on transient errors and unauthenticated errors from the target Dapr sidecar. The logic for that retry sits in the direct messaging code under pkg/messaging.
The second is retry logic for stateful operations, which is configurable by the user on a per-call operation. the logic for that retry sits in components-contrib.
The proposal here is to consolidate retries under our middleware layer, and thus have them apply to all of Dapr's building blocks and APIs, and will apply for any future building blocks and APIs without any additional change.
This would also provide consistency in implementation, in addition to API surface coverage, and will apply to both HTTP and gRPC.
/cc @LMWF