1、更新版本号: 分别更改两个mesher_calculator实例的配置文件microservice.yaml,更新version字段分别为1.1.1和1.1.2,重启mesher服务,可以看到服务版本号发生了变更。如图中所示:
2、配置路由信息,更改mesher_webapp的配置文件router.yaml,按实例版本更新权重信息,并重启服务:
routeRule: calculator: #service name - precedence: 2 #precedence of route rule route: #route rule list - tags: version: 1.1.1 weight: 70 #weight of 20% - tags: version: 1.1.2 weight: 30 #weight of 20%
1、 更改断流器配置,更改mesher_webapp的配置文件chassis.yaml,设置其中的断流器配置为:
isolation: Consumer: timeout: enabled: true timeoutInMilliseconds: 1000 #超时时间 maxConcurrentRequests: 1 circuitBreaker: Consumer: enabled: true forceOpen: false forceClosed: false sleepWindowInMilliseconds: 10000 #熔断恢复时间10秒 requestVolumeThreshold: 1 #请求量限制 errorThresholdPercentage: 1 fallback: Consumer: enabled: true maxConcurrentRequests: 1 fallbackpolicy: Consumer: policy: returnnull
2、 关闭test_balance目录下的服务实例;
1、传入负数参数,响应超时,mesher_webapp断流器生效,下图一是mesher_webapp日志截图,表明断流器启用,下图二是传入负数参数触发断流器时的返回值,下图三表示断流器生效后对所有请求都按配置返回nil;
2、根据配置参数sleepWindowInMilliseconds,过10秒后服务自动恢复
了解更多服务治理的使用方式