[RFC] Support distributed flow control
- Dominant language
- Java
- Stars
- 23.1k
- Forks
- 8.1k
- PR merge metrics
- No merged PRs in 30d
Description
## Issue Description
Type: *feature request*
### Describe what feature you want
Currently Sentinel only supports local flow control. It's necessary to support distributed flow control for service clusters, so that we can:
- enable global flow control in API Gateway (e.g. Netflix Zuul)
- provide flow control ability for service mesh
This is the umbrella issue for Sentinel cluster flow control.
### Related tasks
- [x] Design cluster token client interface
- [x] Design cluster token server interface (should also support embedded mode)
- [x] Provide default client and server implementation
- [x] Integrate with Envoy global rate limiting gRPC service (#666)
- ~~Integrate with Istio Mixer quota management service~~ (#1234)
- [ ] Istio native integration (leverage [Sentinel Go](https://github.com/sentinel-group/sentinel-golang))
- [ ] Distributed concurrency control
Contributor guide
Research direction
No file, test, or entry point is named. Start by reviewing the completed cluster token client and server interface tasks, then define the scope of the remaining Istio native integration and distributed concurrency control work; done requires those unchecked umbrella tasks to be implemented and validated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- grpc, java
- Domain
- backend-api-design, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100