> 文章列表 > java微服务商城高并发秒杀项目--011.授权规则和系统规则

java微服务商城高并发秒杀项目--011.授权规则和系统规则

java微服务商城高并发秒杀项目--011.授权规则和系统规则

授权规则

在shop-order-server中新建RequestOriginParserDefinition.java,定义请求来源如何获取

@Component
public class RequestOriginParserDefinition implements RequestOriginParser {@Overridepublic 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为白名单:

java微服务商城高并发秒杀项目--011.授权规则和系统规则

访问测试

访问http://localhost:8091/auth1?serviceName=pc 可以访问

访问http://localhost:8091/auth1?serviceName=app 不可以访问

设置PC为黑名单:

java微服务商城高并发秒杀项目--011.授权规则和系统规则

访问测试

访问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 达到阈值即触发系统保护。

java微服务商城高并发秒杀项目--011.授权规则和系统规则

根据本地服务器的相关系统容量进行判断。