服务治理
- 服务治理主要用于对分布式系统中大量微服务进行有效控制管理。本指南将会展示如何使用 mersher 提供的服务治理能力。
前言
- 在您进一步阅读之前,请确保您已阅读了mersher快速入门和mersher负载均衡,并已成功运行mersher用例服务。
灰度发布
配置
-
1、更新版本号: 分别更改两个mersher_calculator实例的配置文件microservice.yaml,更新version字段分别为1.1.1和1.1.2,重启mersher服务,可以看到服务版本号发生了变更。如图中所示:
-
2、配置路由信息,更改mersher_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%
验证
- 此时大量点击 Submit 按钮就可以看到BMI Instance ID按配置的比例交替出现。
服务熔断及恢复
配置
-
1、 更改断流器配置,更改mersher_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、传入负数参数,响应超时,mersher_webapp断流器生效,下图一是mersher_webapp日志截图,表明断流器启用,下图二是传入负数参数触发断流器时的返回值,下图三表示断流器生效后对所有请求都按配置返回nil;
-
2、根据配置参数sleepWindowInMilliseconds,过10秒后服务自动恢复
下一步
-
了解更多服务治理的使用方式