1.导入依赖
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.2.0.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>
<dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-datasource-nacos</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency>
2.配置yml
spring:
cloud: nacos: discovery: server-addr: 127.0.0.1:8848 #nacos服务地址 sentinel: transport: dashboard: 127.0.0.1:8866 #sentinel port: 8719
流控:QPS 单机阀值 假设是1 每秒钟单击的次数不能超过一次 超过报错
线程数:就行银行的工作人员 sleep睡眠一下(就像处理业务的时间)在这个时间内要是超过了线程数就会报错
热点规则
@SentinelResource(value="",blockHandler="方法调用出错,兜底方法")
写出错兜底方法 违背了sentinel定义的热点规则就会走兜底方法(前提条件是代码层面不能出错,代码层面出错还是会出现erro page 就像int a=10/0;,总而言之,sentinel就管违背了热点规则,java运行时异常不归它管,运行时异常设定fallback方法处理),如果不写兜底方法,页面就会报error page 非常不好看,只要定义热点规则 务必写兜底方法
参数例外项----就像vip 指定的值比较特殊