如何做好网站站内优化,网站策划的内容,网站备案需要哪些东西,网站 宕机 优化线程流控#xff08;只要线程数达到了指定数量#xff0c;访问就会被流控#xff09;#xff1a;warm up流控效果#xff08;慢慢增加QPS的数量#xff0c;之后最后达到阈值#xff0c;这种情况下#xff0c;一开始会容易限流#xff0c;后期就不会限流了#xff09;…线程流控只要线程数达到了指定数量访问就会被流控warm up流控效果慢慢增加QPS的数量之后最后达到阈值这种情况下一开始会容易限流后期就不会限流了排队处理当每秒的访问达到阈值的时候这一秒内的下一次访问会等待0.5s可以看到访问的图标会有一个转圈的动态 在SentinelController中增加sentinel3的controller RequestMapping(/sentinel3)public String sentinel3() {return sentinel3; } 关联流控将/sentinel3和/sentinel2进行关联后只要/sentinel2的每秒访问超过3/sentinel3 就会被流控链路流控 在shop-order-server项⽬中新增TraceServiceImpl.javaService
Slf4j
public class SentinelServiceImpl {SentinelResource(value tranceService)public void tranceService(){// 做业务log.info(业务资源);}
} 在shop-order-server项⽬的application.yml⽂件中新增如下配置防止访问路径被折叠spring:cloud:nacos:discovery:server-addr: localhost:8848sentinel:transport:port: 9999dashboard: localhost:8080web-context-unify: false 在shop-order-server项⽬中新增TraceController.javaRestController
public class TraceController {Autowiredprivate SentinelServiceImpl sentinelService;RequestMapping(/trace1)public String trace1(){sentinelService.tranceService();return trace1;}RequestMapping(/trace2)public String trace2(){sentinelService .tranceService();return trace2;}
}设置流控规则这样实现了对/trace2限流但对/trace1不限流去除tomcat对线程的限制并重新启动order模块新增sentinel1降级规则这个检验一个人完成不了因为本身我们会睡眠1s无法实现1s三次请求理论上1s内访问3次后比例为1超过了设定的0.5会直接熔断5s5s可重新访问异常比例在shop-order-server项⽬的SentinelController.java类新增fallBack2⽅法:RestController
Slf4j
public class SentinelController {RequestMapping(/sentinel1)public String sentinel1() throws InterruptedException {TimeUnit.SECONDS.sleep(1);return sentinel1;}RequestMapping(/sentinel2)public String sentinel2() {return sentinel2;}RequestMapping(/sentinel3)public String sentinel3() {return sentinel3;}int i0;RequestMapping(/fallBack2)public String fallBack2(){log.info(fallBack2执⾏业务逻辑);//模拟出现异常异常⽐例为33%if(i%30){throw new RuntimeException();}return fallBack2; }
}异常数降级一般每三次请求会被降级一次 异常数降级1s内出现1个异常就降级熔断5s