更新时间:2025-01-09 GMT+08:00
分享

devspore-clientcontrol使用概述

本文主要描述如何通过devspore-clientcontrol在代码中使用超时、重试、熔断和降级的功能。

开发能力要求

您需具备以下开发能力:

  • 熟悉Java语言,并有Java程序开发经验。
  • 熟悉Maven。

基础开发环境准备

安装的工具包括JDK、Maven、Eclipse和IDEA ,配置对应的环境变量,确保本地开发环境可用。

常用概念

  • 超时:超过指定时间还未返回指定结果的任务。
  • 重试:对于失败的任务,在一定规则内重复执行。
  • 熔断:当任务失败比例达到一定要求后,会触发熔断,对于后续调用请求,不再继续调用目标任务,直接返回,快速释放资源,等到该目标任务情况好转再恢复调用。
  • 降级:当任务失败后,执行的一种补偿任务。
  • 性能缓存:存入缓存的时间到获取缓存的时间差值小于设定阈值的缓存。

开发流程

  1. 通过Maven引入需要的依赖。
    <dependency>
        <groupId>com.huaweicloud.devspore</groupId>
        <artifactId>devspore-clientcontrol</artifactId>
        <version>${devspore-clientcontrol.version}</version> #版本号,版本号可参考AstroPro-SDK版本变更与下载。
    </dependency>
  2. 根据业务需求编写配置文件。
    devspore:
      client-control:
        biz-pool: # 具体可参见 参数配置说明
        caches:  # 具体可参见 参数配置说明
        rules: # 具体可参见 参数配置说明
  3. 在业务代码中引入@ClientControl注解。
    @ClientControl(rule = "timeLimitTest")
    public String testTimelimit(long sleepTime) {
       return "demo";
    }

相关文档