
# 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";
   }
   ```
   
 
