sentinel控制面板dashboard

sentinel不單提供了豐富、靈活的各種規則:流控、降級、熱點、系統、授權,還提供了可視化的控制面板dashboard,通過控制面板可以實現

  • 規則實時配置、動態刷新

  • 資源監控

下面我們來搭建一個sentinel控制面板,它其實是一個基於springboot的應用,因此搭建起來非常簡單!

1.下載sentinel dashboard

訪問地址:https://github.com/alibaba/Sentinel/tree/master/sentinel-dashboard,可以直接下載sentinel dashboard項目。

我下載的是整個sentinel項目,訪問地址:https://github.com/alibaba/Sentinel,下載後解壓

找到sentinel-dashboard,進入目錄,執行命令

mvn clean package

即可打包sentinel-dashboard

2.啓動sentinel dashboard

打開控制檯窗口,執行以下命令啓動控制面板

java -Dserver.port=8858 -Dcsp.sentinel.dashboard.server=localhost:8858 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar

啓動完成,訪問地址:http://127.0.0.1:8858/,輸入默認的sentinel賬號:sentinel/sentinel,即可進入控制面板

成功登陸後主界面

3.應用接入sentinel dashboard

登錄sentinel dashboard控制面板,看到左邊菜單展現應用,應用下有相應的規則子菜單:實時監控、簇點鏈路、流控規則、熔斷規則、熱點規則、系統規則、授權規則、集羣流控、機器列表。

通過該控制面板,我們可以給每個應用實時配置規則,實現動態刷新。那麼關鍵是如何把應用接入進來呢?非常簡單。

3.1.引入依賴

sentinel提供了sentinel-transport-simple-http模塊,負責應用與控制面板之間的通信

<dependency>
  <groupId>com.alibaba.csp</groupId>
  <artifactId>sentinel-transport-simple-http</artifactId>
   <version>1.8.2</version>
</dependency>

3.2.設置啓動應用參數

應用接入sentinel dashboard控制面板,需要在啓動時,設置相應的jvm參數

  • 指定控制面板server地址

  • 以及本地應用通過監聽哪個端口,來實現與sentinel dashboard通信

-Dcsp.sentinel.dashboard.server=127.0.0.1:8858 -Dcsp.sentinel.api.port=8719

比如我在idea啓動項目時,進行了設置

3.3.啓動應用,查看控制面板

注意:應用與sentinel dashboard之間是懶加載,啓動應用後,需要訪問應用,才能在控制面板看到應用的信息。訪問地址:http://127.0.0.1:8080/sentinel/degrade?userId=1

刷新控制面板,看到應用已經加載到sentinel dashboard

點擊流控規則

點擊熔斷規則

可以看到應用中,初始加載的流控規則、熔斷規則已經在控制面板中展示

4.動態刷新規則

我們前面說過,通過sentinel控制面板,可以實現規則的配置、動態刷新規則、以及監控。來試一下

4.1.查看流控規則

可以看到,這正是我們在應用中初始化加載的規則,此時配置的閾值是1,即每秒中超過1次請求,會發生流控。

4.2.修改流控規則

將流控規則,閾值調整爲:100,表示每秒鐘中允許通過100個請求,超過100纔會流控。

然後再次訪問:http://127.0.0.1:8080/sentinel/flow?userId=1,瘋狂刷新,發現不限流了!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章