記一次spring cloud alibaba+Sentinel監控整合

xiaolege_發表於2020-01-14

最近接觸spring cloud alibaba,在學習sentinel限流這一節,通過sentinel-dashboard做控制檯,教程寫的很詳細,下控制檯jar包(sentinel-dashboard-1.6.0.jar  最新版下載地址:https://github.com/alibaba/Sentinel/releases)、程式碼敲、搞配置,一切進行的灰常順利。然後是啟動測試,這個我知道java -jar sentinel-dashboard-1.6.0.jar自信,預設埠號8080,瀏覽器輸入localhost:8080,頁面出來了(這麼簡單的事)。

看到這慶幸剛才的文件看的認真,這是1.6新增的登陸頁面,使用者名稱密碼預設:sentinel(啟動jar的時候可以通過命令重置使用者密碼埠號等資訊,如:-Dserver.port=8888 -Dsentinel.dashboard.auth.username=sentinel -Dsentinel.dashboard.auth.password=123456 -Dserver.servlet.session.timeout=7200等等7200單位秒)。登陸成功,漂亮!

 哎喲喂,空空如也,我忘記起服務了。。。。

趕緊客戶端走起。

按教程來,引入關鍵jar包spring.cloud.sentinel.transport.dashboard,然後配置檔案指定服務名,服務埠,控制檯埠,客戶端合控制檯通訊的埠預設是8719改不改看自己,反正我沒改。

spring.application.name=alibaba-sentinel-datasource-nacos
server.port=6001
# sentinel dashboard
spring.cloud.sentinel.transport.dashboard=192.168.100.145:8849

客戶端也很簡單,啟來,然後訪問幾次介面之後盯著我的控制檯準備欣賞優美曲線,想著怎麼設定限流策略,好好玩一下。

結果重新整理Sentinel 控制檯毫無變化,對了  它是懶載入的再等一下多刷幾次,應該會出來了。結果等了幾分鐘了咋回事,還不出來。看控制檯日誌沒報錯啊,一切正常。噫,奇怪了什麼情況,是不是別人寫的教程少了什麼東西,把他的示例程式碼下下來試試,跑起來它的程式碼也是一樣的在我的sentinel控制檯不會出現服務列表 ,翻看sentinel官方文件,發現我們好像沒用錯啊。。。。。。中間穿插別的事情去了。今天終於閒下來思考一下到底怎麼回事,期間聯絡了教程的作者他說他本地跑示例程式碼沒問題,我就想啊會不會是我的spring.cloud.sentinel.transport.dashboard版本問題呢,這時想到當時整合這個jar包的時候出現一個奇怪的現象,必須要我指定它的版本否則pom報錯,當時就給了一個合父依賴一樣的版本號跑起來一切正常就沒在意了。那試著改一下這個版本給它升級一下試試。重複慢動作:重啟客戶端,訪問介面,重新整理控制檯,見證奇蹟的時刻。。。

這個頁面期待了幾天了。。。。。真的是jar包的原因,為什麼不報錯呢/(ㄒoㄒ)/~~

<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-alibaba-sentinel -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
    <version>0.9.0.RELEASE</version>
</dependency>

經測試這個的版本不能用低了。。。。。。。(經後續學習發現還是得用spring的才行,阿里的在後續整合中(sentinel+nacos)可能會有其他問題)

簡單限流實現:點選簇點鏈路--流控--

  • 閾值型別選擇:QPS
  • 單機閾值:2

綜合起來的配置效果就是,該介面的限流策略是每秒最多允許2個請求進入。

 儲存後看流限規則:

然後重新整理介面,驗證一下限流效果

完整示例程式碼可以看下面連結:

https://github.com/xiaolegehaha/SpringCloud-Learning/tree/master/4-Finchley/alibaba-sentinel-rate-limiting

本人準備這段時間整理一套spring cloud的系列文章,感興趣的老闆可以關注一下,大家一起學習交流。 

相關文章