服务治理

服务治理主要用于解决或缓解服务雪崩的情况,即个别微服务表现异常时,系统能对其进行容错处理,从而避免资源的耗尽。本指南将会展示如何在 体质指数 应用中使用 ServiceComb 提供的服务治理能力。

前言

在您进一步阅读之前,请确保您已阅读了微服务应用快速开发指南,并已成功运行体质指数微服务。

启用

  • 体质指数计算器pom.xml 文件中添加依赖项:
  1. <dependency>
  2. <groupId>org.apache.servicecomb</groupId>
  3. <artifactId>handler-bizkeeper</artifactId>
  4. </dependency>
  • 体质指数计算器microservice.yaml 文件中指明使用服务治理的处理链及指定熔断和容错策略:
  1. servicecomb:
  2. handler:
  3. chain:
  4. Provider:
  5. default: bizkeeper-provider
  6. circuitBreaker:
  7. Provider:
  8. calculator:
  9. requestVolumeThreshold: 3
  10. fallbackpolicy:
  11. Provider:
  12. policy: returnnull

体质指数应用中已配置好了上述配置项,您只需重新运行 体质指数计算器

  1. mvn spring-boot:run -Drun.jvmArguments="-Dcse.handler.chain.Provider.default=bizkeeper-provider -Dcse.circuitBreaker.Provider.calculator.requestVolumeThreshold=3 -Dcse.fallbackpolicy.Provider.policy=returnnull"

验证

  • 使服务进入熔断状态。访问 http://localhost:8889,在身高或体重的输入框中输入一个负数,连续点击三次或以上 Submit 按钮,此时在网页下方能看到类似左图的界面。

  • 验证服务处于熔断状态。在身高和体重的输入框中输入正数,再次点击 Submit 按钮,此时看到的界面依然是类似左图的界面。同时在 体质指数计算器 运行日志也能看到调用不再抛出异常,而是出现类似 fallback called 的日志。

  • 验证服务恢复正常。约15秒后,在身高和体重的输入框中输入正数,点击 Submit 按钮,此时界面显示正常。

服务治理效果

下一步