日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

SpringBoot2.0+阿里巴巴Sentinel動態限流實戰(附源碼)

瀏覽:121日期:2023-04-08 18:58:13

Sentinel 是什么?

隨著微服務的流行,服務和服務之間的穩定性變得越來越重要。Sentinel 以流量為切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。

Sentinel 具有以下特征:

豐富的應用場景:Sentinel 承接了阿里巴巴近 10 年的雙十一大促流量的核心場景,例如秒殺(即突發流量控制在系統容量可以承受的范圍)、消息削峰填谷、集群流量控制、實時熔斷下游不可用應用等。 完備的實時監控:Sentinel 同時提供實時的監控功能。您可以在控制臺中看到接入應用的單臺機器秒級數據,甚至 500 臺以下規模的集群的匯總運行情況。 廣泛的開源生態:Sentinel 提供開箱即用的與其它開源框架/庫的整合模塊,例如與 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相應的依賴并進行簡單的配置即可快速地接入 Sentinel。 完善的 SPI 擴展點:Sentinel 提供簡單易用、完善的 SPI 擴展接口。您可以通過實現擴展接口來快速地定制邏輯。例如定制規則管理、適配動態數據源等。

Sentinel 的主要特性:

SpringBoot2.0+阿里巴巴Sentinel動態限流實戰(附源碼)

Sentinel 的開源生態:

SpringBoot2.0+阿里巴巴Sentinel動態限流實戰(附源碼)

Sentinel 分為兩個部分:

核心庫(Java 客戶端)不依賴任何框架/庫,能夠運行于所有 Java 運行時環境,同時對 Dubbo / Spring Cloud 等框架也有較好的支持。 控制臺(Dashboard)基于 Spring Boot 開發,打包后可以直接運行,不需要額外的 Tomcat 等應用容器。

控制臺配置

Sentinel 控制臺最少應該包含如下功能:

查看機器列表以及健康情況:收集 Sentinel 客戶端發送的心跳包,用于判斷機器是否在線。 監控 (單機和集群聚合):通過 Sentinel 客戶端暴露的監控 API,定期拉取并且聚合應用監控信息,最終可以實現秒級的實時監控。 規則管理和推送:統一管理推送規則。 鑒權:生產環境中鑒權非常重要。這里每個開發者需要根據自己的實際情況進行定制。

可以直接從[ release 頁面](https://github.com/alibaba/Sentinel/releases ' release 頁面') 下載最新版本的控制臺 jar 包,啟動 Sentinel 控制臺需要 JDK 版本為 1.8 及以上版本。。

啟動腳本 sentinel.sh:

#!/bin/bashjava -Dsentinel.dashboard.auth.username=admin -Dsentinel.dashboard.auth.password=admin -Dserver.port=8084 -Dcsp.sentinel.dashboard.server=localhost:8084 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.6.3.jar &

用戶可以通過如下參數進行配置:

-Dsentinel.dashboard.auth.username=admin 用于指定控制臺的登錄用戶名為 admin; -Dsentinel.dashboard.auth.password=admin 用于指定控制臺的登錄密碼為 admin;如果省略這兩個參數,默認用戶和密碼均為 sentinel; -Dserver.servlet.session.timeout=7200 用于指定 Spring Boot 服務端 session 的過期時間,如 7200 表示 7200 秒;60m 表示 60 分鐘,默認為 30 分鐘;

SpringBoot2.0+阿里巴巴Sentinel動態限流實戰(附源碼)

客戶端配置

pom.xml 引入以下依賴:

<!-- https://blog.52itstyle.vip --><parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.5.RELEASE</version> <relativePath/></parent><dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency></dependencies><dependencyManagement> <!--注意跟 SpringBoot 保持一致 2.1.x for Spring Boot 2.1.x--> <dependencies> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.1.0.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies></dependencyManagement>

配置文件:

# 應用名稱 https://blog.52itstyle.vipspring.application.name=blogspring.cloud.sentinel.transport.port=8720# 測試請替換為自己的地址spring.cloud.sentinel.transport.dashboard=116.190.247.112:8084

這里的 spring.cloud.sentinel.transport.port端口配置會在應用對應的機器上啟動一個 Http Server,該 Server 會與 Sentinel 控制臺做交互。比如 Sentinel 控制臺添加了1個限流規則,會把規則數據 push 給這個 Http Server 接收,Http Server 再將規則注冊到 Sentinel 中。

代碼配置:

/** * 博文 https://blog.52itstyle.vip */@RequestMapping('{id}.shtml')@SentinelResource('blogView')public String page(@PathVariable('id') Long id, ModelMap model) { try{ Blog blog = blogService.getById(id); String key = 'blog_'+id; Long views = redisUtil.size(key); blog.setViews(views+blog.getViews()); model.addAttribute('blog',blog); } catch (Throwable e) { return 'error/404'; } return 'article';}

@SentinelResource 注解用來標識資源是否被限流、降級。上述例子上該注解的屬性 ’blogView’ 表示資源名。

默認情況,Sentinel 會攔截所有的 Controller 請求,這里標識資源名,是因為所有的文章都會走這個請求,為了方便統計和流控,這里自定義資源標識。

更多注解支持,請參考:Sentinel/wiki/注解支持。

訪問客戶端項目,隨便點擊幾個頁面,然后登錄 Sentinel 控制臺,如果看到以下界面,說明配置成功。

SpringBoot2.0+阿里巴巴Sentinel動態限流實戰(附源碼)

SpringBoot2.0+阿里巴巴Sentinel動態限流實戰(附源碼)

配置限流,搜索我們剛才配置的資源名稱,選擇流控功能。

SpringBoot2.0+阿里巴巴Sentinel動態限流實戰(附源碼)

SpringBoot2.0+阿里巴巴Sentinel動態限流實戰(附源碼)

輸入閾值參數,為了測試方便,這里直接輸入2,連續刷新瀏覽器,如果后臺出現以下錯誤,并伴隨著前臺頁面無法正常顯示說明配置生效。

Caused by: com.alibaba.csp.sentinel.slots.block.flow.FlowException: null

當然,Sentinel 流程功能不僅僅這么簡單,還支持集群模式,在終極版十萬博文中,我們可以為集群中的節點,設置單機均分,也可以設置一個總體的閾值。

SpringBoot2.0+阿里巴巴Sentinel動態限流實戰(附源碼)

生產環境中使用

Sentinel 核心庫目前已可用于生產環境,目前除了阿里巴巴以外,也有多家企業在生產環境中使用它們。

規則管理及推送

原生版本的規則管理通過API 將規則推送至客戶端并直接更新到內存中,并不能直接用于生產環境。

SpringBoot2.0+阿里巴巴Sentinel動態限流實戰(附源碼)

不過 Sentinel提供了擴展讀數據源ReadableDataSource,規則中心統一推送,客戶端通過注冊監聽器的方式時刻監聽變化,比如使用 Nacos、Zookeeper 等配置中心。這種方式有更好的實時性和一致性保證。

SpringBoot2.0+阿里巴巴Sentinel動態限流實戰(附源碼)

監控

Sentinel 會記錄資源訪問的秒級數據(若沒有訪問則不進行記錄)并保存在本地日志中。Sentinel 控制臺可以通過 Sentinel 客戶端預留的 HTTP API 從秒級監控日志中拉取監控數據,并進行聚合。

目前 Sentinel 控制臺中監控數據聚合后直接存在內存中,未進行持久化,且僅保留最近 5 分鐘的監控數據。若需要監控數據持久化的功能,可以自行擴展實現。

SpringBoot2.0+阿里巴巴Sentinel動態限流實戰(附源碼)

注意事項

由于一開始沒有認真讀文檔,把控制臺部署到了外網,而客戶端在內網啟動,導致客戶端無法被訪問到,實時鏈路和簇點鏈路數據無法正常顯示。

測試的小伙伴注意了,原始模式下,客戶端和控制臺必須相互被訪問到,客戶端會向控制臺定時發送心跳請求,控制臺會向客戶端推送規則、拉取流控數據并聚合。

源碼

https://gitee.com/52itstyle/spring-boot-blog

到此這篇關于SpringBoot2.0+阿里巴巴Sentinel動態限流實戰(附源碼)的文章就介紹到這了,更多相關SpringBoot2.0 Sentinel動態限流內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩欧美网址| 伊人久久大香伊蕉在人线观看热v| 91精品观看| 久久99蜜桃| 红桃视频亚洲| 久久精品中文| 一区二区国产在线观看| 久久精品国产亚洲夜色av网站| 免费一级欧美片在线观看网站| 综合一区av| 国产精品美女久久久| 成人羞羞视频播放网站| 国产精品毛片视频| 日韩高清电影免费| 蜜桃av一区| 尹人成人综合网| 久久激情网站| 日韩激情一区| 91一区二区三区四区| 日韩精品a在线观看91| 99视频精品| 女人天堂亚洲aⅴ在线观看| 久久高清免费| 成人羞羞在线观看网站| 国产成人精品亚洲线观看| 国产精品亚洲片在线播放| 日韩在线电影| 亚洲精品高潮| 亚洲精品精选| 日韩欧美高清一区二区三区| 91久久黄色| 欧美男人天堂| 午夜精品久久久久久久久久蜜桃| 日本欧美国产| 国产精区一区二区| 国产福利一区二区三区在线播放| 国产精品乱战久久久| 欧美激情精品| 成人国产精选| 精品国产a一区二区三区v免费| 久久国产三级| 久久99性xxx老妇胖精品| 你懂的网址国产 欧美| 国产精品欧美三级在线观看| 国产精品久久久久久久久久久久久久久 | 国产精品99一区二区三区| 国产欧美日韩精品一区二区免费 | 欧美黑人巨大videos精品| 国产伦理久久久久久妇女| 青青国产精品| 天堂精品久久久久| 日韩在线观看中文字幕| 国产伦理久久久久久妇女| 日本亚洲三级在线| 国产精品久久久久久久久久久久久久久| 国产精品羞羞答答在线观看| 美女久久精品| 日韩免费高清| 亚洲一区二区三区免费在线观看| 亚洲视频二区| 国产精品一区二区三区美女 | 成人台湾亚洲精品一区二区| 91亚洲国产成人久久精品| 久久天堂精品| 亚洲欧美不卡| 青青国产精品| 成人在线视频区| 午夜免费一区| 日本国产欧美| av日韩中文| 亚洲欧美日韩国产综合精品二区| 日本少妇精品亚洲第一区| 视频在线不卡免费观看| 久久久影院免费| 亚洲最新av| 麻豆精品少妇| 亚洲国产专区校园欧美| 蜜桃91丨九色丨蝌蚪91桃色 | 久久久久久一区二区| 99国产精品视频免费观看一公开 | 国产精品久久久久77777丨| 国产精品蜜芽在线观看| 黄色亚洲大片免费在线观看| 亚洲影院天堂中文av色| 国产欧美日韩免费观看| av最新在线| 美女国产一区| 久久香蕉网站| 日韩午夜在线| 国产欧美三级| 欧美日韩国产免费观看| 欧美日韩精品一区二区三区视频| 久久久久久久欧美精品| 日韩va亚洲va欧美va久久| 欧美精品第一区| 美女网站一区| 欧美啪啪一区| 99精品在线| 久久精品超碰| 欧洲在线一区| 国产日韩欧美一区二区三区在线观看| 久久一级电影| 欧美视频一区| 老牛国产精品一区的观看方式| 日本韩国欧美超级黄在线观看| 精品国产精品久久一区免费式| 国产日韩欧美一区在线| 日韩国产一区二| 亚洲精品乱码| 亚洲一二av| 综合激情婷婷| 免费精品视频在线| 午夜一区在线| 国产精品普通话对白| 香蕉国产精品| 国产综合婷婷| 婷婷综合五月| 国产在线成人| 影视先锋久久| 欧美精品一区二区三区精品| 国产精品av久久久久久麻豆网| 亚洲成人国产| 极品日韩av| 亚洲女同中文字幕| 欧美特黄a级高清免费大片a级| 99视频精品视频高清免费| 群体交乱之放荡娇妻一区二区| 亚洲成人不卡| 影视先锋久久| 亚洲少妇诱惑| 中文字幕一区二区三区在线视频| 日韩在线麻豆| 欧美久久亚洲| 久久国产精品美女| 精品一区二区三区免费看| 成人精品国产亚洲| 亚洲成人二区| 蜜桃久久av| 欧美午夜三级| 国产成人精选| 999久久久国产精品| 在线亚洲自拍| 日韩精品免费视频人成| 国产精品日韩精品在线播放| 精品日韩一区| 激情自拍一区| 亚洲2区在线| 国产精品99久久免费观看| 国产一区二区三区久久久久久久久| 日韩精品诱惑一区?区三区| 欧美成人午夜| 日本一区二区三区视频在线看| 国产激情一区| 999国产精品视频| 首页亚洲欧美制服丝腿| 国产午夜一区| 日韩电影免费网站| 日韩视频精品在线观看| 日韩精品国产精品| 久久久久久婷| 免费精品视频| 国产乱码精品一区二区亚洲| 精品亚洲成人| 好吊日精品视频| 国产精品手机在线播放| 91精品国产福利在线观看麻豆| 久久成人亚洲| 欧美黑人巨大videos精品| 亚洲精品.com| 日本v片在线高清不卡在线观看| 久久国产精品美女| 日韩精品影视| 日本中文字幕不卡| 成人在线免费观看网站| 一区在线免费| 国产精品二区影院| 蜜桃久久精品一区二区| 私拍精品福利视频在线一区| 99成人在线| 日韩视频一区| 国产日韩欧美三区| 91精品婷婷色在线观看| 一区二区电影| 国产一区二区精品福利地址| 亚洲一级在线| 日本欧美国产| 蜜桃传媒麻豆第一区在线观看| 国产精品18| 午夜宅男久久久| 精品国产aⅴ| 视频一区免费在线观看| 久久精品九色| 在线亚洲激情| 国产一区二区三区黄网站| 免费视频久久| 日韩大片在线播放| 久久国产精品免费一区二区三区 | 精品国产乱码| 免费看日韩精品| 日韩国产一区二区三区|