```xml
<dependency>
    <groupId>org.noear</groupId>
    <artifactId>guava-solon-cloud-plugin</artifactId>
</dependency>
```



#### 1、描述

分布式扩展插件。基于 google guava 适配的 solon cloud 融断器插件。提供基本的融断或限流服务。

#### 2、配置示例（此配置可通过配置服务，动态更新）

```yml
solon.cloud.local:
  breaker:
    root: 100 #根断路器的阀值（即默认阀值）
    main: 150 #qps = 100 #main 为断路器名称（不配置则为 root 值）

```

#### 2、通过注解，添加埋点

```java
//此处的注解埋点，名称与配置的断路器名称须一一对应
@CloudBreaker("main")
@Controller
public class BreakerController {
    @Mapping("/breaker")
    public void breaker() throws Exception{
        Thread.sleep(1000); //方便测试效果
    }
}
```

#### 3、手动模式埋点

```java
public class BreakerFilter implements Filter {
    @Override
    public void doFilter(Context ctx, FilterChain chain) throws Throwable {
        if (CloudClient.breaker() == null) {
            chain.doFilter(ctx);
        } else {
            //此处的埋点，名称与配置的断路器名称须一一对应
            try (AutoCloseable entry = CloudClient.breaker().entry("main")) {
                chain.doFilter(ctx);
            } catch (BreakerException ex) {
                //应急处理（降级处理）
                throw new CloudBreakerException("Request capacity exceeds limit");
            }
        }
    }
}
```