• 微服务保护——限流规则
    • 一、快速入门:
      • 1、簇点链路:
    • 二、流控模式:
      • (一)三种模式:
      • (二)关联模式:
        • 1、例子:
        • 2、 使用场景:
        • 3、案例:
      • (三)链路模式:
        • 1、例子:
        • 2、案例
    • 三、流控效果:
      • (一)流控效果的种类
        • 1、快速失败:
        • 2、warm up预热模式:
        • 3、排队等待:
      • (二)预热模式:
      • (三)排队等待:
    • 四、热点参数限流:
      • (一)理解:

微服务保护——限流规则

一、快速入门:

1、簇点链路:

簇点链路:就是项目内的调用链路,链路中被监控的每个接口就是一个资源。
默认情况下sentinel会监控SpringMVC的每一个端点(Endpoint),因此SpringMVC的每一个端点(Endpoint)就是调用链路中的一个资源。
流控、熔断等都是针对簇点链路中的资源来设置的,因此我们可以点击对应资源后面的按钮来设置规则:

二、流控模式:

(一)三种模式:

在添加限流规则时,点击高级选项,可以选择三种流控模式:
1、直接:统计当前资源的请求,触发阈值时对当前资源直接限流,也是默认的模式
2、关联:统计与当前资源相关的另一个资源,触发阈值时,对当前资源限流
3、链路:统计从指定链路访问到本资源的请求,触发阈值时,对指定链路限流

(二)关联模式:

1、例子:

AB两个资源,A触发了阈值,对B进行限流;

2、 使用场景:

比如用户支付时需要修改订单状态,同时用户要查询订单。查询和修改操作会争抢数据库锁,产生竞争。业务需求是优先支付和更新订单的业务,因此当修改订单业务触发阈值时,需要对查询订单业务限流。

满足下面条件可以使用关联模式:
1、两个有竞争关系的资源
2、一个优先级较高,一个优先级较低

当/write资源访问量触发阈值时,就会对/read资源限流,避免影响/write资源

3、案例:

给谁限流,资源名就写谁。

(三)链路模式:

1、例子:

统计从指定链路访问到本资源的请求,触发阈值时,对指定链路限流;也就是说:ABC三个服务请求都要访问D的请求,只统计A服务到本资源的请求,触发阈值则对A的请求限流。

2、案例


三、流控效果:

(一)流控效果的种类

流控效果是指请求达到流控阈值时应该采取的措施,包括三种:

1、快速失败:

达到阈值后,新的请求会被立即拒绝并抛出FlowException异常。是默认的处理方式。

2、warm up预热模式:

对超出阈值的请求同样是拒绝并抛出异常。但这种模式阈值会动态变化,从一个较小值逐渐增加到最大阈值。

3、排队等待:

让所有的请求按照先后次序排队执行,两个请求的间隔不能小于指定时长,否则也会抛出异常,拒绝这个请求。

(二)预热模式:

主要是为了避免冷启动那一刻过高的并发导致服务故障。所以让阈值逐步增大,而不是一下子就达到阈值的最大值。

(三)排队等待:

对于不稳定的访问请求,使用排队等待模式则可以让请求稳定地被放行。比如在两秒内,第一秒没有请求,第二秒突然来了10个请求,这个时候达到阈值,它会把这写请求放到一个队列中,然后队列每隔200ms就放行一个请求。这就能让波浪形的QPS变成平缓形的QPS。可以起到流量整形的效果。

四、热点参数限流:

(一)理解:

注意点:热点参数限流对默认的SpringMVC资源无效,需要给资源添加注解@SentinelResource(“资源名称”)

(二)微服务保护——限流规则相关推荐

  1. 微服务接口限流的设计与思考(附GitHub框架源码)

    http://www.infoq.com/cn/articles/microservice-interface-rate-limit?useSponsorshipSuggestions=true&am ...

  2. 微服务网关限流鉴权-wei-fu-wu-wang-guan-xian-liu--jian-quan

    title: 微服务网关限流&鉴权 date: 2022-01-06 14:40:45.047 updated: 2022-01-06 14:40:45.047 url: https://ww ...

  3. c++突破网关屏蔽_通过API网关实现微服务管控-限流,熔断和降级

    今天准备谈下基于API网关来实现微服务治理管控中的服务限流,熔断和降级方面的内容.在前面谈微服务架构的时候也谈到过类似通过Hystrix,Sentinel来是服务限流熔断.包括也不断地在谈去中心化架构 ...

  4. 天弘基金首席架构师李鑫:微服务接口限流的算法及架构实现

    李鑫(码码的土狼) 读完需要 9 分钟 速读仅需 3 分钟 李鑫,著有<微服务治理:体系.架构及实践>一书,公众号"码码的土狼"分享技术干货及心得. 目前是天弘基金移动 ...

  5. 分布式架构,微服务、限流、熔断....

    本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件.本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节. 要理解微服务,首先要先理解不是微服 ...

  6. 分布式架构演变之路,微服务、限流、熔断....

    本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件.本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节. 要理解微服务,首先要先理解不是微服 ...

  7. spring cloud微服务间限流,使用jMeter性能测试高并发

    有关网关限流方式查看上一篇博客:spring cloud网关(zuul)限流,使用jMeter性能测试高并发 在网关限流后,有可能有些微服务与网关山的限流不一致,比如网关限流100QPS,而微服务只能 ...

  8. 微服务守护神-Sentinel-流控规则

    引言 书接上篇微服务守护神-Sentinel-概念,上面介绍了Sentinel相关概念,本篇就来看下Sentinel的流控规则. 流控规则 流量控制,其原理是监控应用流量的QPS(每秒查询率) 或并发 ...

  9. 微服务4——服务的限流、熔断(Sentinel-三ti no)sca-comsumersca-provider

    mst Sentinel是什么?(阿里推出的一个流量控制平台) 类似Sentinel的产品你知道有什么?(hystrix) Sentinel是如何对请求进行限流的?(基于sentinel依赖提供的拦截 ...

最新文章

  1. windows python读取grib2数据
  2. 页面置换算法(FIFO , LRU, OPT)(C++实现模拟)
  3. android开发微博搜索,一款帮助用户自动提取微博热搜、知乎热榜、百度实时热点条目中与特定领域...
  4. 北斗导航 | ION GNSS+ 2021、 ION GNSS+ 2020会议论文下载:ION 美国导航学会
  5. python find(urlopen.read())_Python小白必看之urlopen()详解
  6. Sniffer Pro 教程
  7. android环境搭建出错,androidstudio配置环境遇到的各种错误(持续更新中)
  8. 《基于Java实现的遗传算法》笔记(7 / 7):个人总结
  9. C++ Primer 第五版 第7章类 7.1——类讲解(成员函数、非成员函数、构造函数)
  10. Centos6.5优化Tomcat7
  11. leetcode—22.二分查找题目leetcode总结
  12. IBM AIX5.3 linux下C/C++实现HTTPS接口
  13. com.android.phone lg g3,详细的lg g3 root教程与方法
  14. Java入门第65课——根据周长计算不同形状图形的面积
  15. Android chrome默认设置Autoplay policy
  16. 数据库实体之间的关联关系:一对一、一对多、多对多
  17. 基于强化学习的中间商赚差价指导手册
  18. 大流量高并发互联网应用实践在线峰会:资料汇总(更新ing~)
  19. 微信小程序直播二三事
  20. nginx 实现备案域名的配置 + 跨域配置

热门文章

  1. oracle未过账凭证删除,​金蝶未过账凭证如何取消关联凭证
  2. jQuery实现下拉列表的二级联动
  3. word 插入一条横线
  4. 网格顶点方向的计算(一种新的面积加权方法)
  5. 重磅!南京java培训机构推荐
  6. 无线远程控制如何增强无线信号扩大传输距离-无线信号放大器无线收发双向增强放大无线功率放大中继器增益可调无需配置支持lora 433 470 510等频段综科智控无线放大器ZKM-LORA使用方法
  7. 常用计算机的外部接口,笔记本电脑常见的外部接口及作用介绍
  8. NetSuite 修改直发采购订单的供应商,而不是直接使用首选供应商
  9. 名余曰正则兮,字余曰灵均
  10. 线束计数,线束检测,线束芯检测,线束数量统计