-
Notifications
You must be signed in to change notification settings - Fork 13.1k
Description
nacos supports beta publish with client ip currently,and support tag publish for a single fixed tag Vip-Server-Tag in source code,but without a open function.
Describe the solution you'd like
create a new model config-info-gray to uniform gray publish models with high scalability to adapt to different scenarios which is related to the deploy enviroment.
Describe alternatives you've considered
1.create new table config-info-gray with grayName and grayRule
grayName defines gray publish type like beta ,tag ,other type that user can self define
grayRule define a json struct with proprity, version,expr relateted to grayName.
2.create GrayRuleManager to manager all GrayRule models , GrayRule has two key methods, parse(String expr),match(Map<String,String> labels)
3.create BetaGrayRule(grayName=beta,expr =ips,ip2,ip3) and TagGrayRule(grayName=tag,expr="tagValue") to match orignal beta and tag match.
4.Create a task to imgrate config-info-beta and config-info-tag to config-info-gray.