日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

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

來源: 責編: 時間:2023-09-18 21:40:09 371觀看
導讀1、環境和資源準備sentinel支持許多流控方式,比如:單機限流、熔斷降級、集群限流、系統保護規則、黑白名單授權等。本文介紹如何快速集成使用sentinel,文中以單機限流為例,使用代碼而非控制臺配置的方式限流。sentinel官

1、環境和資源準備

FIU28資訊網——每日最新資訊28at.com

3、項目集成sentinel

項目中集成sentinel分如下5步。FIU28資訊網——每日最新資訊28at.com

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

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

3.3、增加sentinel.properties配置

在application.properties同級目錄下,增加sentinel.properties文件,配置內容如下:FIU28資訊網——每日最新資訊28at.com

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

FIU28資訊網——每日最新資訊28at.com

同時需要加載sentinel.properties配置,有兩種加載方式,選擇一種即可,如下:FIU28資訊網——每日最新資訊28at.com

FIU28資訊網——每日最新資訊28at.com

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

給需要被限流的資源打上注解@SentinelResource,使用方式如下。FIU28資訊網——每日最新資訊28at.com

  • 默認情況下,超出配置的流控閾值后,直接拋出 FlowException(BlockException) 異常,可以使用blockHandler自定義。
  • fallback用于配置熔斷降級的方法,當發生慢調用、異常數、異常比例數,會調用fallback方法。
  • 可以針對部分異常情況做忽略處理,不再觸發熔斷降級。
@Servicepublic 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、指定和加載流控規則

文中我使用代碼方式制定流控規則,在控制臺中也可以直接配置流控規則,為什么不使用控制臺方式呢?FIU28資訊網——每日最新資訊28at.com

如果是類似云原生的部署環境,比如:將spring應用打成docker鏡像,然后在部署到Kubernetes中,部署之后Pod地址是會變化。FIU28資訊網——每日最新資訊28at.com

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

流控規則一般會有如下幾個:FIU28資訊網——每日最新資訊28at.com

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

控制臺設置流控規則,如下:FIU28資訊網——每日最新資訊28at.com

FIU28資訊網——每日最新資訊28at.com

代碼制定和加載流控規則,如下:FIU28資訊網——每日最新資訊28at.com

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,就可以在控制臺上看到被限流的資源FIU28資訊網——每日最新資訊28at.com

FIU28資訊網——每日最新資訊28at.com

在流控規則這里,可以看到上文中在代碼里設置的規則:FIU28資訊網——每日最新資訊28at.com

FIU28資訊網——每日最新資訊28at.com

啟動項目后,測試限流效果,如下:FIU28資訊網——每日最新資訊28at.com

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

FIU28資訊網——每日最新資訊28at.com

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

5、總結

本文主要介紹spring項目如何快速集成sentinel實現系統限流。FIU28資訊網——每日最新資訊28at.com

首先啟動sentinel-dashboard,然后使用5個簡單步驟即可使用sentinel限流。FIU28資訊網——每日最新資訊28at.com

在應用server的IP地址頻繁變動的場景下,建議使用代碼方式限流。FIU28資訊網——每日最新資訊28at.com

流控的方式較多,你需要根據自身的業務需求做選擇,我一般情況下選擇單機流控和系統保護。FIU28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-10408-0.html五小步快速集成使用sentinel限流

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 微服務是個壞主意嗎?

下一篇: TCP與UDP協議:網絡通信中的兩大重要角色

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
久久久久欧美精品| 欧美三级电影一区| 欧美在线关看| 亚洲精品一区二区三区樱花| 亚洲国产天堂久久国产91| 国产精品日韩欧美大师| 欧美巨乳波霸| 欧美性猛交xxxx乱大交退制版| 欧美精品综合| 欧美天堂在线观看| 国产日韩在线亚洲字幕中文| 一区二区三区在线视频免费观看 | 国产精品一区二区久久国产| 国产欧美一区二区精品秋霞影院 | 欧美日韩中文在线| 国产色综合久久| 亚洲第一在线| 亚洲视频在线观看视频| 久久精品国产成人| 欧美激情一区二区三区全黄| 国产精品久久久久久久久久免费 | 欧美国产成人精品| 国产精品视频精品| 亚洲国产精品传媒在线观看| 狠狠久久亚洲欧美专区| 亚洲国产精品久久久久久女王| 国产一区二区在线观看免费播放| 亚洲国产成人不卡| 在线综合亚洲欧美在线视频| 久久久久久91香蕉国产| 亚洲国产日韩一区二区| 亚洲一区在线观看视频 | 欧美与欧洲交xxxx免费观看| 欧美激情偷拍| 免费在线观看精品| 欧美图区在线视频| 永久久久久久| 亚洲中无吗在线| 欧美波霸影院| 国产免费亚洲高清| 亚洲乱码国产乱码精品精98午夜| 欧美一区二区三区四区在线观看地址 | 久久人人97超碰精品888| 欧美区日韩区| 尤物精品国产第一福利三区| 亚洲综合欧美日韩| 久久伊人精品天天| 国产精品一区一区| 夜夜嗨av一区二区三区四季av | 国产精品毛片高清在线完整版| 国产精品久久久久久久电影 | 久久国产日韩| 国产精品第三页| 国产欧美日韩视频在线观看| 亚洲精品欧美极品| 久久精品日韩欧美| 国产精品区一区二区三| 国产日产亚洲精品| 亚洲第一狼人社区| 欧美一区二区三区久久精品| 国产日韩精品入口| 一区二区精品国产| 欧美v国产在线一区二区三区| 国产一区二区三区网站| 在线看日韩欧美| 亚洲人线精品午夜| 久久久亚洲高清| 国产区亚洲区欧美区| 亚洲天堂av电影| 欧美日韩国产综合一区二区| 亚洲国产一区二区三区a毛片| 久久久精品日韩| 国产欧美综合在线| 亚洲一区二三| 欧美日韩视频免费播放| 国产麻豆午夜三级精品| 一区二区精品| 欧美日韩精品伦理作品在线免费观看| 亚洲福利免费| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美视频一区二区在线观看| 亚洲精品久久嫩草网站秘色| 麻豆精品精品国产自在97香蕉| 国内一区二区在线视频观看| 欧美主播一区二区三区| 国产精品一页| 午夜视频久久久| 国产精品一区一区| 欧美亚洲日本一区| 国产日本亚洲高清| 久久99伊人| 国产在线拍揄自揄视频不卡99| 欧美在线关看| 韩国av一区二区三区在线观看| 亚洲国内精品| 久久永久免费| 亚洲第一页在线| 免播放器亚洲一区| 亚洲大片一区二区三区| 欧美成人精品在线播放| 亚洲人成在线观看| 欧美日本视频在线| 国产精品视频一区二区三区| 亚洲一区在线观看视频 | 国产主播精品在线| 久久中文字幕一区| 亚洲国产二区| 欧美久久在线| 亚洲视频一区二区| 国产精品人成在线观看免费 | 欧美色区777第一页| 亚洲一区综合| 国产三级精品在线不卡| 久久久久.com| 亚洲黄色大片| 国产精品扒开腿爽爽爽视频| 欧美伊久线香蕉线新在线| 娇妻被交换粗又大又硬视频欧美| 欧美大片在线影院| 亚洲一级黄色av| 国产在线观看一区| 欧美成人有码| 亚洲永久在线| 精品999成人| 欧美影院午夜播放| 激情av一区二区| 欧美专区第一页| 在线日韩中文字幕| 欧美日韩和欧美的一区二区| 亚洲摸下面视频| 国产精品一二三视频| 久久久久久久久久久成人| 亚洲精品国产精品国产自| 国产精品久久久久久影视| 久久在线精品| 中文亚洲欧美| 激情国产一区二区| 欧美劲爆第一页| 欧美在线你懂的| 亚洲欧洲在线视频| 国产精品视频xxx| 蜜臀99久久精品久久久久久软件 | 亚洲精品在线三区| 国产乱理伦片在线观看夜一区 | 欧美日韩精品一区二区三区四区| 午夜精品www| 亚洲欧洲日夜超级视频| 国产精品美女一区二区在线观看 | 蘑菇福利视频一区播放| 亚洲色图自拍| 在线观看亚洲a| 国产精品久久久久久久电影| 久久阴道视频| 亚洲专区一区二区三区| 在线免费精品视频| 国产精品女人网站| 欧美高清视频在线| 99ri日韩精品视频| 黄色日韩网站视频| 国产精品久久福利| 欧美激情精品| 久久成人免费网| 一区二区欧美在线| 在线观看一区二区精品视频| 国产精品视频区| 欧美日韩精品免费看| 久久亚洲精品欧美| 午夜精品视频一区| 99精品视频免费观看| 在线观看日产精品| 国产在线拍偷自揄拍精品| 国产精品播放| 欧美激情视频免费观看| 久久青草欧美一区二区三区| 午夜亚洲伦理| 一区二区高清视频| 亚洲经典视频在线观看| 国内一区二区在线视频观看| 国产精品久久久久久久久久尿 | 亚洲手机成人高清视频| 亚洲精品乱码久久久久久| 激情久久五月| 国产农村妇女毛片精品久久麻豆| 欧美日韩视频专区在线播放| 欧美成人精品激情在线观看| 久久久久久9999| 欧美在线亚洲一区| 亚洲欧美综合一区| 亚洲欧美制服中文字幕| 亚洲影院色无极综合| 夜夜嗨av一区二区三区中文字幕 | 欧美电影在线观看完整版| 鲁鲁狠狠狠7777一区二区| 久久久久久香蕉网| 久久久久久伊人| 久久九九精品| 久久精品国产视频| 久久av一区二区三区| 欧美在线影院| 久久婷婷久久一区二区三区| 一区二区三区福利| 99re6这里只有精品| 亚洲日本精品国产第一区| 亚洲丰满少妇videoshd|