授权规则
在shop-order-server中新建RequestOriginParserDefinition.java,定义请求来源如何获取
@Component
public class RequestOriginParserDefinition implements RequestOriginParser {
@Override
public String parseOrigin(HttpServletRequest request) {
/**
* 定义从请求的什么地⽅获取来源信息
* ⽐如我们可以要求所有的客户端需要在请求头中携带来源信息
*/
String type = request.getParameter("type");
return type ;
}
}
在shop-order-server中新建AuthController.java,代码如下:
@RestController
@Slf4j
public class AuthController {
@RequestMapping("/auth1")
public String auth1(String type){
log.info("应⽤:{},访问接⼝",type);
return "auth1";
}
}
在dashboard中配置白名单和黑名单的相关信息:
设置PC为白名单:
访问测试
访问http://localhost:8091/auth1?serviceName=pc 可以访问
访问http://localhost:8091/auth1?serviceName=app 不可以访问
设置PC为黑名单:
访问测试
访问http://localhost:8091/auth1?serviceName=pc 不能访问
访问http://localhost:8091/auth1?serviceName=app 可以访问
系统规则
系统规则⽀持以下的模式:
Load ⾃适应(仅对 Linux/Unix-like 机器⽣效):系统的 load1 作为启发指标,进⾏⾃适应系统保
护。当系统 load1 超过设定的启发值,且系统当前的并发线程数超过估算的系统容量时才会触发系
统保护(BBR 阶段)。系统容量由系统的 maxQps * minRt 估算得出。设定参考值⼀般是 CPU
cores * 2.5 。
CPU usage(1.5.0+ 版本):当系统 CPU 使⽤率超过阈值即触发系统保护(取值范围 0.0-1.0),
⽐较灵敏。
平均 RT:当单台机器上所有⼊⼝流量的平均 RT 达到阈值即触发系统保护,单位是毫秒。
并发线程数:当单台机器上所有⼊⼝流量的并发线程数达到阈值即触发系统保护。
⼊⼝ QPS:当单台机器上所有⼊⼝流量的 QPS 达到阈值即触发系统保护。
根据本地服务器的相关系统容量进行判断。