概述
下载jar包:https://github.com/alibaba/Sentinel/releases
sentinel是一个jar包,所以可以通过java -jar的命令直接运行
出现这个标识表示运行成功
输入localhost:8080,sentinel的端口默认是8080,账号和密码是sentinel
接下来我们创建一个简单的springboot项目,注册到nacos和sentinel上
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
pom.xml中添加nacos和sentinel的依赖,接着在applicaiton.yml中添加nacos和sentinel的配置
接着springboot的启动项上加入
@SpringBootApplication
@EnableDiscoveryClient
public class CloudAlibabaNacosSentinel9003Application
{
public static void main(String[] args)
{
SpringApplication.run(CloudAlibabaNacosSentinel9003Application.class, args);
}
}
加入注解
简单的创建一个controller,供页面调用
@RestController
public class FlowLimitController
{
@GetMapping(value = "/testA")
public String testA()
{
return "~~~~~~~~~ return A";
}
@GetMapping(value = "/testB")
public String testB()
{
return "~~~~~~~~~ return B";
}
}
进入sentinel系统后会发现sentinel的页面什么也没有,这是正常情况,我们需要调用注册到sentinel服务中的接口,才会出现
点开下拉列表
就会发现调用过的服务中的接口
本人还没有看完sentinel的全部内容就简单的说一下自己知道的流控
流控主要的作用是:控制访问限制访问服务接口的QPS,以免访问量过大,导致服务接口的雪崩和系统挂掉
资源名:需要流控的服务接口
针对来源:我是选择default
阈值类型:QPS(QPS表示每秒访问服务接口的次数),线程数
单机阈值:一个服务一秒钟的访问量
流控模式:直接(就是直接针对需要流控的服务接口,做出什么流控效果)
关联(针对需要流控的服务接口,会导致另外一个服务接口,做出什么样的效果,比如:库存接口的QPS已经超过了阈值,此时就不应该让订单接口继续访问)
流控效果:快速失败:当QPS超过阈值了,直接返回异常
Warm up:会先给服务接口预热时间,预热时间内的QPS不能超过单击阈值/阈值系数,sentinel的阈值系数默认是3,也就是说如果单机阈值是10,预热时间设置的5秒钟,在5秒钟内,QPS不能大于10/3,五秒钟之后,单机阈值就会恢复成设置的值,这也是保护服务器的一种手段
排队等待: 无论QPS多高,访问接口都是排成队列,一个个访问完了,再让下一个访问
最后
以上就是迷你帅哥为你收集整理的springcloud alibaba sentinel配置:的全部内容,希望文章能够帮你解决springcloud alibaba sentinel配置:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复