精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

五小步快速集成使用sentinel限流

開發 前端
在微服務系統中,緩存、限流、熔斷是保證系統高可用的三板斧。本文通過如下幾個小步驟,即可讓spring項目快速集成使用sentinel實現系統限流。

1、環境和資源準備

sentinel支持許多流控方式,比如:單機限流、熔斷降級、集群限流、系統保護規則、黑白名單授權等。

本文介紹如何快速集成使用sentinel,文中以單機限流為例,使用代碼而非控制臺配置的方式限流。

  • sentinel官網地址:https://sentinelguard.io/zh-cn/index.html
  • github地址:https://github.com/alibaba/Sentinel
  • 本文采用的版本是1.8.0,下載地址:https://github.com/alibaba/Sentinel/releases/tag/v1.8.0
  • sentinel-dashboard下載地址:https://github.com/alibaba/Sentinel/releases/download/v1.8.0/sentinel-dashboard-1.8.0.jar
  • 本文使用的項目地址:https://github.com/yclxiao/spring-sentinel-demo,代碼中有一部分使用的是官方demo。

2、啟動sentinel-dashboard

從上文地址下載sentinel-dashboard,然后執行命令啟動:java -jar sentinel-dashboard-1.8.0.jar

啟動完畢后,通過http://localhost:8080/#/dashboard訪問dashboard,出現如下界面:

3、項目集成sentinel

項目中集成sentinel分如下5步。

3.1、引入pom

<!-- 這是sentinel的核心依賴 -->
<dependency>
  <groupId>com.alibaba.csp</groupId>
  <artifactId>sentinel-core</artifactId>
  <version>1.8.0</version>
</dependency>
<!-- 這是將自己項目和sentinel-dashboard打通的依賴 -->
<dependency>
  <groupId>com.alibaba.csp</groupId>
  <artifactId>sentinel-transport-simple-http</artifactId>
  <version>1.8.0</version>
</dependency>
<!-- 這是使用sentinel對限流資源進行AOP -->
<dependency>
  <groupId>com.alibaba.csp</groupId>
  <artifactId>sentinel-annotation-aspectj</artifactId>
  <version>1.8.0</version>
</dependency>

3.2、增加sentinel-aop

@Configuration
public class AopConfiguration {
    @Bean
    public SentinelResourceAspect sentinelResourceAspect() {
        return new SentinelResourceAspect();
    }
}

3.3、增加sentinel.properties配置

在application.properties同級目錄下,增加sentinel.properties文件,配置內容如下:

# 集成到sentinel的項目名稱
project.name=spring-sentinel-demo
# 對應的sentinel-dashboard地址
csp.sentinel.dashboard.server=localhost:8080

同時需要加載sentinel.properties配置,有兩種加載方式,選擇一種即可,如下:

3.4、設置需要被限流的資源

給需要被限流的資源打上注解@SentinelResource,使用方式如下。

  • 默認情況下,超出配置的流控閾值后,直接拋出 FlowException(BlockException) 異常,可以使用blockHandler自定義。
  • fallback用于配置熔斷降級的方法,當發生慢調用、異常數、異常比例數,會調用fallback方法。
  • 可以針對部分異常情況做忽略處理,不再觸發熔斷降級。
@Service
public class TestServiceImpl implements top.mangod.springsentineldemo.service.TestService {

    @Override
    @SentinelResource(value = "test", blockHandler = "handleException", blockHandlerClass = {top.mangod.springsentineldemo.service.ExceptionUtil.class})
    public void test() {
        System.out.println("Test");
    }

    @Override
    @SentinelResource(value = "hello", fallback = "helloFallback")
    public String hello(long s) {
        if (s < 0) {
            throw new IllegalArgumentException("invalid arg");
        }
        return String.format("Hello at %d", s);
    }

    @Override
    @SentinelResource(value = "helloAnother", defaultFallback = "defaultFallback",
        exceptionsToIgnore = {IllegalStateException.class})
    public String helloAnother(String name) {
        if (name == null || "bad".equals(name)) {
            throw new IllegalArgumentException("oops");
        }
        if ("foo".equals(name)) {
            throw new IllegalStateException("oops");
        }
        return "Hello, " + name;
    }

    public String helloFallback(long s, Throwable ex) {
        // Do some log here.
        ex.printStackTrace();
        return "Oops, error occurred at " + s;
    }

    public String defaultFallback() {
        System.out.println("Go to default fallback");
        return "default_fallback";
    }
}

3.5、指定和加載流控規則

文中我使用代碼方式制定流控規則,在控制臺中也可以直接配置流控規則,為什么不使用控制臺方式呢?

如果是類似云原生的部署環境,比如:將spring應用打成docker鏡像,然后在部署到Kubernetes中,部署之后Pod地址是會變化。

只要應用的地址變化后,之前的配置就消失了。不可能每次地址變化后都到控制臺去重新配置策略,所以需要選擇代碼方式制定規則。

流控規則一般會有如下幾個:

  • 資源限流規則FlowRule
  • 異常熔斷降級規則DegradeRule
  • 系統過載保護規則SystemRule
  • 訪問黑白名單規則AuthorityRule

控制臺設置流控規則,如下:

代碼制定和加載流控規則,如下:

public static void main(String[] args) {
    // 加載限流規則
    initSentinelRule();
    SpringApplication.run(SpringSentinelDemoApplication.class, args);
  }

  private static void initSentinelRule() {
    // 資源限流
    FlowRule flowRule = new FlowRule("test")
        .setCount(1)
        .setGrade(RuleConstant.FLOW_GRADE_QPS);
    List<FlowRule> list = new ArrayList<>();
        /*if (method) {
            FlowRule flowRule1 = new FlowRule("test:sayHello(java.lang.String)")
                    .setCount(5)
                    .setGrade(RuleConstant.FLOW_GRADE_QPS);
            list.add(flowRule1);
        }*/
    list.add(flowRule);
    FlowRuleManager.loadRules(list);

    // 異常降級
    /*List<DegradeRule> DegradeRules = new ArrayList<>();
    DegradeRule degradeRule = new DegradeRule("");
    degradeRule.setGrade(CircuitBreakerStrategy.ERROR_RATIO.getType());
    degradeRule.setCount(0.7); // Threshold is 70% error ratio
    degradeRule.setMinRequestAmount(100)
            .setStatIntervalMs(30000) // 30s
            .setTimeWindow(10);
    DegradeRules.add(degradeRule);
    DegradeRuleManager.loadRules(DegradeRules);*/

    // 系統負載保護
    /*List<SystemRule> systemRules = new ArrayList<>();
    SystemRule systemRule = new SystemRule();
    systemRule.setHighestSystemLoad(10);
    systemRules.add(systemRule);
    SystemRuleManager.loadRules(systemRules);*/
    
    // 黑白名單授權訪問
    /*AuthorityRule rule = new AuthorityRule();
    rule.setResource("test");
    rule.setStrategy(RuleConstant.AUTHORITY_WHITE);
    rule.setLimitApp("appA,appB");
    AuthorityRuleManager.loadRules(Collections.singletonList(rule));*/
  }

4、啟動測試

項目啟動完畢后,訪問鏈接http://localhost:9091/foo,就可以在控制臺上看到被限流的資源

在流控規則這里,可以看到上文中在代碼里設置的規則:

啟動項目后,測試限流效果,如下:

  1. 1秒內多次訪問http://localhost:9091/foo,可以看到觸發了限流異常:

  1. 輸入http://localhost:9091/foo?t=-1會觸發異常。fallback用于配置熔斷降級的方法,當發生慢調用、異常數、異常比例數時,會調用fallback方法。圖片
  2. 輸入http://localhost:9091/baz/foo、http://localhost:9091/baz/bad,會分別觸發異常和默認fallback。圖片

5、總結

本文主要介紹spring項目如何快速集成sentinel實現系統限流。

首先啟動sentinel-dashboard,然后使用5個簡單步驟即可使用sentinel限流。

在應用server的IP地址頻繁變動的場景下,建議使用代碼方式限流。

流控的方式較多,你需要根據自身的業務需求做選擇,我一般情況下選擇單機流控和系統保護。

責任編輯:華軒 來源: 不焦躁的程序員
相關推薦

2023-09-25 15:34:14

2021-05-14 07:45:07

Sentinel 接口限流

2022-05-09 07:35:48

動態集群限流

2021-05-21 08:30:26

Sentinel GateWay 微服務

2022-05-29 21:38:11

限流熔斷流量

2024-11-05 15:02:41

2024-09-06 13:53:28

2023-08-01 19:16:01

Spring編程瀏覽器

2011-12-16 11:11:36

HTML 5

2021-03-16 08:31:59

微服務Sentinel雪崩效應

2020-08-03 08:04:04

限流算法Sentinel

2021-05-07 08:02:53

Sentinel 流量服務

2013-10-09 09:32:58

2023-04-26 09:16:17

2020-04-29 09:00:03

API終端應用環境

2023-09-26 12:32:21

數據分析領導數據

2024-02-04 10:08:34

2021-11-04 10:11:02

Sentinel網關限流

2022-05-03 19:38:15

限流微服務Sentinel

2025-04-08 09:20:00

Sentinel限流微服務
點贊
收藏

51CTO技術棧公眾號

24小时成人在线视频| 麻豆视频在线免费观看| 日本不卡一区二区三区| 欧美精品免费看| www.超碰97| 四虎影视国产精品| 无吗不卡中文字幕| 亚洲日本欧美在线| 少妇av一区二区| 久久99精品久久久久久| 韩国三级日本三级少妇99| 男人舔女人下部高潮全视频| 亚洲天堂av资源在线观看| 欧美日韩一区二区在线播放| 视频一区二区视频| 欧美日韩国产中文字幕在线| 国产成人精品网址| 国产又爽又黄的激情精品视频 | 97成人精品区在线播放| 国产又粗又硬视频| 日韩美女毛片| 日韩欧美一区二区久久婷婷| 亚洲欧美另类动漫| 热色播在线视频| 亚洲蜜桃精久久久久久久| 日本欧美色综合网站免费| 欧美 日韩 人妻 高清 中文| 精品亚洲国内自在自线福利| 国产精品99导航| 九九热精品视频在线| 欧美精品一区二区三区久久久竹菊| 一区二区三区美女xx视频| 少妇激情一区二区三区视频| 成人网av.com/| 欧美午夜精品一区二区三区| 国产精品50p| 91超碰在线播放| 一区二区三区小说| 精品国产一区二区三区在线| 日本www在线| 国产精品视频一二| 日韩资源av在线| 蜜芽tv福利在线视频| 91丨porny丨最新| 国产在线视频欧美一区二区三区| 亚洲精品无码专区| 国产v综合v亚洲欧| 成人欧美一区二区三区视频| 高潮毛片7777777毛片| 国产 欧美在线| 国产精品久久久久久久久婷婷| 国产av无码专区亚洲av| 国产精品一区二区视频| 91欧美激情另类亚洲| 国产农村妇女毛片精品| 韩国一区二区三区| 91在线观看网站| 精品国产亚洲av麻豆| 国产99久久久国产精品| 国产精品久久久久久免费观看 | 日本亚洲视频| 日韩一区二区三区在线视频| 四虎成人在线播放| 午夜视频一区二区在线观看| 精品国产伦一区二区三区观看体验| 久久国产劲爆∧v内射| 久久97精品| 亚洲女同精品视频| 天天舔天天操天天干| 欧美xxxxx视频| 欧美日韩高清区| 99热国产在线观看| 日本色综合中文字幕| 91久久精品在线| 亚洲国产精品suv| 91色porny蝌蚪| 亚洲一区二区精品在线观看| 在线三级中文| 偷拍一区二区三区四区| 人人爽人人av| 久久视频社区| 日韩精品一二三四区| 国产农村妇女精品一区| 欧美精品一卡| 国产成人高清激情视频在线观看| 国产一区二区三区在线观看| 成人精品国产福利| 日本一区二区三区视频在线播放| 日本激情视频在线观看| 亚洲国产一区二区三区| 国产视频在线视频| 777久久精品| 一本色道久久88精品综合| 老湿机69福利| 日韩av午夜在线观看| 91免费看蜜桃| av在线天堂播放| 亚洲午夜电影在线观看| 在线免费av播放| 久久久亚洲欧洲日产| 色黄久久久久久| 久久久久久久久影院| 狠狠久久亚洲欧美| 欧美日韩国产综合在线| 三级资源在线| 欧美日韩免费不卡视频一区二区三区 | 日本高清视频免费在线观看| 羞羞影院欧美| 欧美精品一区二区在线观看| 亚洲精品天堂网| 亚洲影音一区| 国产精品自拍首页| 黄网站app在线观看| 色猫猫国产区一区二在线视频| 乱码一区二区三区| 亚洲a一区二区三区| 国产成人免费91av在线| 天天干天天舔天天射| 亚洲欧美日韩在线不卡| 久久久精品麻豆| 最新国产一区| 97视频在线播放| www久久久久久| 成人欧美一区二区三区黑人麻豆| 任你操这里只有精品| 欧美网色网址| 午夜精品99久久免费| 国产精品视频在线观看免费| 国产精品网站一区| www黄色在线| 中文精品一区二区| 456亚洲影院| 桃花色综合影院| 香蕉乱码成人久久天堂爱免费| 日本高清免费观看| 91影院成人| 国产欧美久久一区二区| 成人综合影院| 在线影视一区二区三区| 好吊视频在线观看| 久久国产66| 欧洲高清一区二区| 在线免费看h| 亚洲欧美激情另类校园| 国产精品乱子伦| 26uuu久久综合| 日本成年人网址| 亚洲激情播播| 国产精品九九九| 日本三级视频在线观看| 欧美日产在线观看| 粉嫩av性色av蜜臀av网站| 国产一区二区三区精品欧美日韩一区二区三区 | 91黄色免费网站| 亚洲a v网站| 奇米色一区二区三区四区| 翔田千里亚洲一二三区| 一区在线不卡| 欧美www在线| 噜噜噜久久,亚洲精品国产品| 亚洲图片有声小说| 性欧美丰满熟妇xxxx性久久久| 亚洲欧美成人综合| 视频一区视频二区视频三区视频四区国产| 91精品影视| 日韩在线视频观看正片免费网站| 国产精品久久久久毛片| 亚洲综合一二区| 精品黑人一区二区三区观看时间| 久久夜色精品| 一本一道久久a久久精品综合| 国产在线一区不卡| 97在线观看视频| 电影在线一区| 欧美一区二区三区免费视频| 成人午夜视频精品一区| 中文字幕av不卡| 制服下的诱惑暮生| 国产精品最新自拍| 一本色道久久综合亚洲二区三区| 国产一区二区三区国产精品| 91av视频在线观看| melody高清在线观看| 日韩三级电影网址| 中文字幕xxxx| 亚洲精品国产无天堂网2021| 能免费看av的网站| 九色综合狠狠综合久久| 日日摸日日碰夜夜爽无码| 大色综合视频网站在线播放| 91黄色精品| 伊人久久高清| 久久久久久久网站| 91精品国产91久久久久游泳池| 欧美一区二区三区免费视频 | 美日韩免费视频| 二区三区精品| 日韩av快播网址| av大大超碰在线| 亚洲欧美日韩精品| 亚洲精品久久久狠狠狠爱 | 欧美整片在线观看| a天堂中文在线官网在线| 亚洲区中文字幕| 丰满少妇在线观看bd| 欧美性猛片aaaaaaa做受| 国产在线观看免费视频今夜| 国产精品欧美一区喷水| 欧美做受喷浆在线观看| 国产精品一区一区三区| 亚洲污视频在线观看| 午夜亚洲影视| 97在线国产视频| 欧美激情亚洲| 一本色道久久综合亚洲精品婷婷| 要久久爱电视剧全集完整观看| 91沈先生播放一区二区| 亚洲男女网站| 国产精品欧美激情| 免费观看亚洲| 午夜免费久久久久| 美女网站视频在线| 久久亚洲一区二区三区四区五区高| 黄色视屏网站在线免费观看| 精品亚洲一区二区三区在线观看 | 中文字幕一二区| 色综合一区二区| yjizz国产| 午夜精品久久久久久久久| 欧美成人三级视频| 亚洲美女屁股眼交3| 911国产在线| 中文字幕在线一区| 中文天堂资源在线| 国产欧美综合在线观看第十页| 国产免费看av| 久久精品水蜜桃av综合天堂| 午夜在线观看一区| 国产欧美一区二区精品忘忧草| 日韩片在线观看| 99精品欧美一区二区三区小说 | 一级淫片在线观看| 久久成人久久鬼色| 极品粉嫩美女露脸啪啪| 精品无人区卡一卡二卡三乱码免费卡| 亚洲最大综合网| 蜜桃视频一区二区三区| 激情五月俺来也| 久久国产精品99精品国产| 在线黄色免费看| 国内成人免费视频| www.久久com| 成人av手机在线观看| 久久一区二区电影| 91蝌蚪国产九色| 精品人妻中文无码av在线| 国产精品视频一二三区| 裸体武打性艳史| 亚洲午夜久久久久久久久电影网| 国产午夜在线播放| 一本到不卡精品视频在线观看| 蜜臀精品一区二区三区| 欧美日韩一本到| a天堂视频在线| 亚洲激情第一页| 国产永久av在线| 久久精品精品电影网| 91在线中文| 91av视频在线| 亚洲精品一区av| 国产精品夜夜夜一区二区三区尤| 亚洲v天堂v手机在线| 亚洲国产午夜伦理片大全在线观看网站 | 粉嫩一区二区三区在线观看| 粉嫩av一区二区三区免费观看 | 成人精品免费看| 法国伦理少妇愉情| 国产精品三级久久久久三级| 免费视频一二三区| 福利视频第一区| 在线免费一级片| 精品国产91乱码一区二区三区| 日韩电影网址| 久久影院在线观看| 日韩伦理精品| 成人综合网网址| 日韩成人一级| 中文字幕一区二区三区在线乱码| 国产精品v亚洲精品v日韩精品 | 日韩不卡在线| 亚洲自拍偷拍色图| 国产欧美久久一区二区三区| mm131午夜| 久久裸体视频| 少妇极品熟妇人妻无码| 国产三区在线成人av| 久久久久97国产| 欧美日韩在线亚洲一区蜜芽| 色一情一乱一区二区三区| 色偷偷噜噜噜亚洲男人| 色吧亚洲日本| 国产精品国产一区二区| 欧美疯狂party性派对| 欧美色图另类小说| 国产激情一区二区三区桃花岛亚洲| 插吧插吧综合网| 一区二区三区不卡视频| 国产天堂第一区| 亚洲精品美女视频| 色操视频在线| 亚洲sss综合天堂久久| av在线不卡顿| 国产精品免费观看久久| 成人免费视频app| 性欧美videos| 欧美日本韩国一区| porn视频在线观看| 国产91在线播放精品91| 久久成人福利| 亚洲精品蜜桃久久久久久| 激情综合网av| 久草福利资源在线| 欧美三区在线观看| 国产永久免费高清在线观看| 欧美一区第一页| 一区二区三区在线资源| 国产一级不卡视频| 国模娜娜一区二区三区| 美女网站视频色| 欧美日韩高清一区二区| av基地在线| 国产精品日韩欧美大师| 欧美艳星介绍134位艳星| 国产免费成人在线| 久久久精品日韩欧美| 亚洲午夜18毛片在线看| 日韩二区三区在线| 女厕盗摄一区二区三区| 久久精品日韩| 美女精品在线| 91激情视频在线观看| 日本久久电影网| 国产在线观看网站| 国产精品第七影院| 成人影视亚洲图片在线| 日韩欧美国产片| 综合久久久久久| 国产欧美综合视频| 欧美成人三级视频网站| 中文字幕一区二区三区日韩精品| 国产911在线观看| 国产.欧美.日韩| 精品成人久久久| 亚洲欧美在线一区| 欧美日韩精品一区二区三区视频| 婷婷亚洲婷婷综合色香五月| 免费在线观看日韩欧美| 国产精品69久久久久孕妇欧美| 欧美疯狂性受xxxxx喷水图片| 国产丝袜在线| 国产传媒一区二区| 奶水喷射视频一区| 亚洲ⅴ国产v天堂a无码二区| 欧美美女喷水视频| 国产精品国精产品一二| 久久本道综合色狠狠五月| 视频在线观看91| 日韩精品一区二区亚洲av性色| 3d成人动漫网站| 伦理av在线| 日本中文不卡| 国产在线精品一区二区不卡了| 久久网中文字幕| 亚洲欧美另类在线观看| 在线观看欧美| 两根大肉大捧一进一出好爽视频| 国产欧美久久久精品影院| 国产一区二区三区成人| 97免费视频在线| 999精品在线| 国产性生活毛片| 欧美视频一区在线观看| 日本大胆在线观看| 欧美日韩在线观看一区| 国产在线精品免费av| 日韩一区二区视频在线| xxx欧美精品| 神马日本精品| 国产男女无遮挡猛进猛出| 一本久久a久久精品亚洲| 中文字幕资源网在线观看| 日韩动漫在线观看| 懂色av一区二区夜夜嗨| 自拍偷拍福利视频| 久久人人爽人人爽人人片av高请| 日韩理论在线| 五月开心播播网| 欧美一级欧美一级在线播放| 日日av拍夜夜添久久免费| av在线观看地址|