Sentinel服务流控

Sentinel通过流量控制(flow control)以及熔断降级来保护系统资源

QPS超过阈值直接失败

流量控制(flow control),其原理是监控应用流量的 QPS 或并发线程数等指标,当达到指定的阈值时对流量进行控制,以避免被瞬时的流量高峰冲垮,从而保障应用的高可用性。

QPS:Queries-per-second,每秒资源被访问的次数
当被访问资源的QPS超过阈值,直接进行限流(限制访问),从而保护资源,

下图的簇点链路-流控 

Sentinel服务流控_第1张图片

 针对来源 default就是默认 什么都可以      qps  单击阈值为5   就是一秒钟可以访问五次多了不行

流控模式直接  快速失败   直接选用当前项目  直接失败,没有等待一说

Sentinel服务流控_第2张图片

线程数超过阈值直接失败

五十个用户访问一个浏览器,五十个用户就是一个线程、

下图表示每秒只允许访问一个线程

Sentinel服务流控_第3张图片

Jemeter使用步骤

jmeter.bat启动   可以切换中文

Sentinel服务流控_第4张图片

 1.文件-新建测试计划

Sentinel服务流控_第5张图片

2:添加线程组

Sentinel服务流控_第6张图片

Sentinel服务流控_第7张图片

 3:添加http请求

Sentinel服务流控_第8张图片

Sentinel服务流控_第9张图片

4:添加结果观察  

Sentinel服务流控_第10张图片

5:发送请求  

Sentinel服务流控_第11张图片

6.在查看树查看相应结果

QPS超过阈值关联失败

当test6到达阈值时,test5被保护起来

Sentinel服务流控_第12张图片

线程超过阈值关联失败

当test6访问线程数到达阈值时,test5被保护,限制访问

Sentinel服务流控_第13张图片

QPS超过阈值链路失败

两个资源发同一个请求,只限制一个请求,当这个请求被限制,则保护主节点,另一个资源不被限制

Sentinel服务流控_第14张图片

feign.sentinel.enabled=true  开启feign跟sentinel联合起来

Sentinel服务流控_第15张图片

 示例:test2  test3请求一样

Sentinel服务流控_第16张图片

 Sentinel服务流控_第17张图片

@sentinelResoource注解  起个名字

Sentinel服务流控_第18张图片

 Sentinel服务流控_第19张图片

 当test2一秒访问次数大于1就会失败  test3不受影响。Sentinel服务流控_第20张图片

 Sentinel服务流控_第21张图片

流控效果-Warm-up

Warm Up(RuleConstant.CONTROL_BEHAVIOR_WARM_UP)方式,即预热/冷启动方式。当系统长期处于低水位的情况下,当流量突然增加时,直接把系统拉升到高水位可能瞬间把系统压垮。通过"冷启动",让通过的流量缓慢增加,在一定时间内逐渐增加到阈值上限,给冷系统一个预热的时间,避免冷系统被压垮

 就是说下图   480个阈值,他不是开始就是480个 他是慢慢涨到480个

 Sentinel服务流控_第22张图片

 Sentinel服务流控_第23张图片

流控效果-匀速排队

Sentinel服务流控_第24张图片

Sentinel服务流控_第25张图片

你可能感兴趣的:(sentinel,java,开发语言)