精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

久久综合电影一区| 91久久线看在观草草青青| 国产高清在线精品一区二区三区| 国产一二三四在线| 九九综合久久| 3d成人动漫网站| 丁香花在线影院观看在线播放| 巨骚激情综合| 国产精品一区久久久久| 欧美一区第一页| 最新日韩免费视频| 欧美日韩麻豆| 538prom精品视频线放| 日韩五码在线观看| 欧美三级电影一区二区三区| 成人精品gif动图一区| 国产精品视频资源| 国产手机在线视频| 亚洲xxx拳头交| 亚洲欧美精品一区二区| 欧美日韩久久婷婷| 美女网站视频一区| 精品日本高清在线播放| 裸体大乳女做爰69| 成人亚洲性情网站www在线观看| 国产成人免费视| 国产精品青青在线观看爽香蕉 | 99视频免费看| 日本va欧美va精品| 97av视频在线| 国产一级片免费观看| 国产精品久久久久9999赢消| 亚洲美女激情视频| 第四色在线视频| 香蕉成人app| 在线不卡中文字幕| 国产精品视频分类| 电影网一区二区| 天天综合色天天| 99在线观看视频免费| 黄黄的网站在线观看| 欧美激情一区二区三区四区| 鲁鲁视频www一区二区| 色wwwwww| 99国产精品国产精品久久| 高清国产一区| 亚洲男人第一天堂| 丁香婷婷综合网| 成人免费看片网址| 亚洲xxx在线| 天天干天天干天天干天天| 羞羞视频在线免费国产| 日韩美女视频一区二区| 一本一道久久久a久久久精品91 | 中文字幕亚洲欧美日韩在线不卡 | 国产一区二区欧美| 亚洲娇小xxxx欧美娇小| 男人的天堂影院| 欧美激情网址| 精品视频在线导航| 亚洲av无码一区二区三区人 | 久久先锋影音av鲁色资源网| 精品网站在线看| 亚洲日本中文字幕在线| 久久久国产一区二区三区四区小说 | r级无码视频在线观看| heyzo中文字幕在线| 亚洲国产精品欧美一二99| www.av片| 日本免费久久| 精品污污网站免费看| 国产无遮挡猛进猛出免费软件| 日韩电影精品| 日韩丝袜情趣美女图片| 在线观看免费视频黄| 香蕉久久精品日日躁夜夜躁| 国产亚洲aⅴaaaaaa毛片| 91麻豆精品国产91久久综合| 伊人青青综合网| 午夜精品一区二区三区av| 一区二区三区福利视频| 免播放器亚洲一区| 鬼打鬼之黄金道士1992林正英| 人妻一区二区三区四区| 久久精品亚洲一区二区三区浴池| 午夜一区二区三区| 丝袜在线视频| 一本色道久久综合精品竹菊| 伊人色在线观看| 成人台湾亚洲精品一区二区| 国产丝袜精品第一页| 黑人狂躁日本娇小| 亚洲国产免费看| 国产精品青草久久久久福利99| 99国产精品欲| 久久久久国色av免费看影院| 宅男av一区二区三区| 国产伦理精品| 欧美男男青年gay1069videost| 久久无码专区国产精品s| 蜜桃成人av| 九九精品在线视频| 无码久久精品国产亚洲av影片| 国产精品一二三四| 色综合视频二区偷拍在线| 男插女视频久久久| 欧美色综合天天久久综合精品| 337p日本欧洲亚洲大胆张筱雨| 精品香蕉视频| 97欧美精品一区二区三区| 国产精品久久久久久免费播放| 91视频免费看| 精品一区二区三区无码视频| 免费一区二区三区四区| 日韩精品中文字幕在线观看| 国产精品白嫩白嫩大学美女| 美女免费视频一区二区| 久久久精品国产一区二区三区| 污污在线观看| 欧美精品tushy高清| 中文字幕在线1| 国产一级久久| 国产精品视频一区二区三区经| 在线观看免费黄色| 91黄色免费版| 国产三级视频网站| 在线亚洲观看| 国产中文一区二区| 中文字幕中文字幕在线中高清免费版| 在线观看日韩高清av| 免费观看一级一片| 亚洲免费观看| 国产精品久久久久久久免费大片| 国产在线激情视频| 欧美三级日韩三级| 成人一级片免费看| 日本欧美久久久久免费播放网| 久久影院理伦片| 免费成人在线电影| 日韩成人av一区| 成年免费在线观看| av激情亚洲男人天堂| 日韩中字在线观看| 欧美理伦片在线播放| 久久久亚洲精选| 人妻夜夜爽天天爽| 懂色av一区二区三区| 亚洲视频在线播放免费| 国产欧美在线| 欧美不卡福利| 欧美三级精品| 中文字幕精品网| 黄色大全在线观看| 自拍偷拍欧美激情| 亚洲av毛片在线观看| 欧美一区网站| 国产精品大全| 理论片午夜视频在线观看| 日韩电影在线观看永久视频免费网站| 亚洲免费激情视频| 国产日韩综合av| 看看黄色一级片| 欧美一区成人| 狠狠色综合欧美激情| 黄色软件视频在线观看| 亚洲女人被黑人巨大进入| 日本免费精品视频| 中文字幕一区二区三区不卡| 交换做爰国语对白| 最新日韩在线| 日本欧美色综合网站免费| 国产一区精品福利| 欧美成人剧情片在线观看| 韩国av免费在线观看| 欧美性69xxxx肥| 欧美成人短视频| 国产高清精品在线| 日本a级片免费观看| 成人精品影视| 99国产超薄肉色丝袜交足的后果| 黄色视屏在线免费观看| 中文字幕免费国产精品| a网站在线观看| 欧美性色视频在线| 肉色超薄丝袜脚交69xx图片| 国产成人综合自拍| 国产a级片免费观看| 天天久久综合| 蜜桃狠狠色伊人亚洲综合网站| 日本免费成人| 97超级碰碰人国产在线观看| 夜级特黄日本大片_在线| 精品成人一区二区| 人人妻人人爽人人澡人人精品| 亚洲黄色小视频| 色哟哟精品观看| 国产白丝网站精品污在线入口| 波多野结衣作品集| 在线免费观看欧美| 亚洲精品一区二区三区蜜桃久| 哺乳挤奶一区二区三区免费看| 国产精品入口日韩视频大尺度| 丁香花高清在线观看完整版| 色先锋资源久久综合5566| 性感美女福利视频| 337p亚洲精品色噜噜狠狠| 日韩久久中文字幕| 亚洲在线一区二区三区| 少妇太紧太爽又黄又硬又爽小说 | 9191成人精品久久| 久草视频一区二区| 一区二区三区高清在线| 成年人看的免费视频| av影院午夜一区| 无码国产精品一区二区高潮| 日本va欧美va欧美va精品| 波多野结衣之无限发射| 欧美高清不卡| 亚洲一区二区三区加勒比| 一本色道久久综合亚洲精品酒店| av一区观看| 成人日韩视频| 国产精品久久久久久久午夜| 亚洲精品永久免费视频| 久久久久久久久久久久久久久久久久av | 日韩有码在线播放| 国产视频精选在线| 亚洲免费一级电影| 十八禁一区二区三区| 日韩欧美中文字幕精品| 国产又大又粗又硬| 欧美视频中文一区二区三区在线观看 | 日韩中文在线电影| 欧美二区三区在线| 校花撩起jk露出白色内裤国产精品| 超碰97人人在线| 免费观看亚洲视频大全| 亚洲aa在线观看| 国内不卡的一区二区三区中文字幕| 国产精品96久久久久久| 欧美va在线观看| 国产精品视频区| 78精品国产综合久久香蕉| 国产精品成人免费电影| 日本精品裸体写真集在线观看| 欧美最猛黑人xxxx黑人猛叫黄| 天堂资源在线| 日韩av电影在线网| 国产精品扒开腿做爽爽爽视频软件| 欧洲亚洲妇女av| 春暖花开亚洲一区二区三区| 国产福利精品在线| 巨胸喷奶水www久久久免费动漫| 国产精品国内视频| 成人黄色毛片| 91传媒在线免费观看| 凹凸成人在线| 久精品国产欧美| 九热爱视频精品视频| 亚洲精品中文综合第一页| 婷婷精品进入| 久久亚洲a v| 一本久久综合| 黄色一级二级三级| 精品综合久久久久久8888| 四虎成人在线播放| 成人免费三级在线| 成人网站免费观看| 国产精品日韩精品欧美在线| 久久精品一区二区三区四区五区| 一区二区三区自拍| 91精品国产乱码久久久张津瑜 | 日韩一区二区三区久久| 国产最新精品免费| 精品国产aⅴ一区二区三区东京热| 成人激情文学综合网| 一级黄色片大全| 中文字幕中文字幕一区| 国产一级在线播放| 欧美亚州韩日在线看免费版国语版| 一区二区三区www污污污网站| 日韩免费看网站| 黄色大片在线免费观看| 精品国产依人香蕉在线精品| 丁香花在线影院| 国产精品久久久久91| 久久国产精品美女| 欧美日韩精品免费看| 欧美91福利在线观看| 欧洲av无码放荡人妇网站| 黄色日韩网站视频| 少妇大叫太粗太大爽一区二区| 自拍偷拍亚洲激情| www.国产一区二区| 日韩一区二区三区精品视频| 日韩国产福利| 九九热这里只有精品6| 女生影院久久| 春色成人在线视频| 久久麻豆精品| 成人av一级片| 国产成人综合视频| 青青青视频在线播放| 婷婷成人激情在线网| 国产理论片在线观看| 亚洲人成五月天| 成人免费高清观看| 成人国产在线激情| 国产成人精品三级高清久久91| 日韩成人三级视频| 精品一区二区三区在线视频| 香蕉视频黄色在线观看| 亚洲成人一二三| 国产男男gay体育生白袜| 一区二区三区黄色| 亚洲同志男男gay1069网站| 97人人模人人爽人人喊38tv| 91欧美在线| www黄色在线| 成人精品鲁一区一区二区| 一区视频免费观看| 欧美日韩在线播| 国内精品一区视频| 欧美诱惑福利视频| 国产精品流白浆在线观看| 免费成人进口网站| 久久精品二区亚洲w码| 手机看片日韩av| 日韩欧美在线网址| 婷婷亚洲一区二区三区| 久久久久国产视频| www.久久东京| 韩日视频在线观看| 丁香六月综合激情| 欧美丰满艳妇bbwbbw| 制服丝袜一区二区三区| 成人在线观看亚洲| 亚洲中国色老太| 亚洲国产成人精品女人| 国产三级精品三级在线| 中文字幕一区二区三区四区| 中文字幕欧美人妻精品| 日日骚av一区| 欧美男女交配| 手机看片福利永久国产日韩| 日韩avvvv在线播放| 一级特黄曰皮片视频| 欧美熟乱第一页| www在线免费观看视频| 亚洲伊人一本大道中文字幕| 亚洲综合色网| 成人一区二区三区仙踪林| 亚洲成人一二三| 日韩精品系列| 国产精品91久久久| 999国产精品| 国产精品熟女一区二区不卡| 亚洲精品视频在线看| 色呦呦中文字幕| 日韩av免费网站| 成人综合久久| 奇米777在线| 亚洲成人精品一区二区| 奇米影视888狠狠狠777不卡| 国产精品久久久久久久久久小说| 欧美第一精品| 丝袜熟女一区二区三区| 黑丝美女久久久| 91在线网址| caoporen国产精品| 翔田千里一区二区| 亚洲不卡的av| 精品国产一区二区精华| 日韩欧美精品一区二区三区| 亚洲高清视频一区二区| 国产高清精品网站| 男人天堂2024| 久久精品视频va| 女同另类激情重口| 日韩一区二区三区久久| 亚洲高清一区二区三区| 二区在线观看| 成人在线免费网站| 日韩电影在线观看一区| 久久中文免费视频| 国产视频精品一区二区三区| 四虎国产精品免费久久| 日韩中文字幕在线视频观看| 国产精品久久久爽爽爽麻豆色哟哟 | 久久青青草综合| 精品一区免费av| 亚洲免费黄色网址| 久久综合久中文字幕青草| 色先锋久久影院av| 北条麻妃亚洲一区| 日本乱人伦aⅴ精品| 欧美女同一区| 一本久久a久久精品vr综合 | 久久久久亚洲av片无码下载蜜桃| 亚洲区一区二区|