[Feature]The SDK provides the capability of grayscale ramp-up
- Dominant language
- Java
- Stars
- 41.6k
- Forks
- 26.4k
- Avg merge
- 15h 13m
- Merged PRs (30d)
- 4
Description
### Pre-check
- [X] I am sure that all the content I provide is in English.
### Search before asking
- [X] I had searched in the [issues](https://github.com/apache/dubbo/issues?q=is%3Aissue) and found no similar feature requirement.
### Apache Dubbo Component
Java SDK (apache/dubbo)
### Descriptions
The SDK provides the capability of grayscale ramp-up, enabling blue-green deployment plus grayscale release. Specifically, the application program of the provider is deployed in two sets of templates with equally scaled containers (e.g., N containers). Ultimately, the production traffic flows into only one set of templates. When upgrading the provider program, it is first deployed to the template that does not receive traffic and then a portion of the traffic is introduced (e.g., 5%). After verification, the traffic is gradually expanded until it reaches 100% (5%-20%-50%-100%). After all the traffic is introduced to the upgraded provider template, the containers in the old template are taken offline. Subsequent upgrades continue to use this process to complete the grayscale ramp-up and upgrade of traffic without any tagging of the consumer.
### Related issues
_No response_
### Are you willing to submit a pull request to fix on your own?
- [X] Yes I am willing to submit a pull request on my own!
### Code of Conduct
- [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)
Contributor guide
Research direction
Begin by mapping the Java SDK's provider-side deployment and traffic-routing entry points; the issue names no files or tests. Clarify how templates, traffic percentages, verification, and taking the old template offline should be represented, then define tests for the 5%-20%-50%-100% ramp-up and later upgrades.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- devops, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100