Dynamic Routing Expansion
- Dominant language
- Java
- Stars
- 41.6k
- Forks
- 26.4k
- Avg merge
- 15h 13m
- Merged PRs (30d)
- 4
Description
- [ ] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.
- [ ] I have searched the [release notes](https://github.com/apache/dubbo/releases) of this repository and believe that this is not a duplicate.
## Describe the feature
ConditionRouter only supports a few operators which cannot satisfy real usage in production.
Now canary deployment is popular in micro services and Dubbo should have a native solution.
Users can specify the rules in config center such like following:
when c.version==1.1 then s.version>=2.0
when c.version<1.1 then s.version<2.0
c is an embeded object which means client/consumer, s means server/provider
As soon as the rules are deployed, it will be applied into the consumer side and changes the router.
More complicated expressions, please refer to [Apache Commons JEXL](https://commons.apache.org/proper/commons-jexl/)
This expression language can be easily changed to Spring Expression Language(SpEL). But consider that dubbo is now and apache project, ```commons-jexl``` will be used as the default one.
Contributor guide
Assessment
This issue has not been assessed yet.