Split resource manager to a independent service
- Dominant language
- Go
- Stars
- 1.2k
- Forks
- 783
- Avg merge
- 5d 21h
- Merged PRs (30d)
- 36
Description
## Feature Request
### Describe your feature request related problem
Currently, TiDB's Resource Control functionality is relatively mature, implementing resource isolation and traffic control through Resource Group and Request Unit (RU) mechanisms. Although the Resource Control service itself has relatively light computational load, running as an internal module of PD presents the following key issues:
1. Lack of fault isolation: Failures or exceptions in other PD services may affect the stability of Resource Control
2. Service priority conflicts: During resource constraints, it cannot guarantee that Resource Control gets sufficient computational resources
3. Cannot independently upgrade the Resource Control service
4. Limited future expansion: As Resource Control's importance increases in the next-generation architecture, it needs stronger independence and scalability
### Describe the feature you'd like
Based on the strategic importance of Resource Control in future architecture, and referencing the existing microservice experience of TSO and Scheduling, we plan to split Resource Control into an independent microservice to achieve:
1. Fault isolation: Resource Control failures don't affect other PD services, and failures in other services don't affect Resource Control
2. Backward compatibility: Maintain complete compatibility with existing Resource Control functionality, ensuring smooth migration
### Describe alternatives you've considered
### Teachability, Documentation, Adoption, Migration Strategy
### Task
- [ ] Service discovery
Deploy
- [ ] TiUP
- [ ] Playground
- [ ] Operator
Contributor guide
Assessment
This issue has not been assessed yet.