1. 程式人生 > >阿里雲AHAS應用高可用服務初體驗

阿里雲AHAS應用高可用服務初體驗

AHAS是阿里雲提供應用高可用服務(Application High Availability Service)產品。

高可用這個關鍵詞可以說是網際網路及軟體開發行業熱度一直很高的詞語了,阿里雲推出的這款產品,如果你是開發人員,可能看名字就會被吸引。
目前產品是免費開通的,我們來體驗一下。

首先登陸阿里雲(https://www.aliyun.com)。
在【產品】選單,選擇開發運維->應用高可用服務:

或者在搜尋框中輸入:高可用 (ps:輸入高、可用甚至AH都能搜尋到,不過輸入時有點卡頓,不知道是不是我本機輸入法或者瀏覽器問題,本機用的chrome)

單擊文字進入產品主頁,點選立即開通即可。(注:產品是免費

開通的)

第一次進入產品主頁,有一個提示:

表示選擇主機地域。如果主機在北京、杭州等區域的 VPC 網路中,則選擇對應地域即可,如果主機有公網連線,則可選擇公網。

依次點選選單,看選單名稱以及內容,大概瞭解產品提供的功能。
這裡我們點選【流控降級】選單:

點選右邊按鈕【新增應用】:

有3個tab選單:SDK接入、Java Agent接入、體驗demo

點選【體驗demo】:

先點選下載demo把demo的jar下載到本機,如E:/test/ahas-sentinel-sdk-demo.jar。
我們嘗試在公網下執行,按照提示,首先把左上角地域切換為公網

接著網頁中複製java命令,開啟命令列,在E:/test目錄下執行:java -Dproject.name=MyApp -Dahas.license=ec2eb48c94424fa7a825ce8526a88e9a -jar ahas-sentinel-sdk-demo.jar
注:這裡把AppName

改為了MyApp

檢視輸出,發現demo已開始在跑了:

點選頁面中的右邊的【返回】按鈕,回到【流控降級】選單的主頁:

可以看到,MyApp應用已經顯示出來了;
第1排文字:系統規則數、流控介面數、降級介面數均為0,因為還沒有配置任何規則;
第2排文字:機器數為1,表示應用只有1個節點,通過QPS100,拒絕QPS0,因為沒有配流控規則,所以沒有拒絕的QPS。

點選MyApp文字,可以看到,熟悉的Sentinel控制檯介面出來了:)

我們依次點選左邊的6個選單,對比Sentinel控制檯https://github.com/alibaba/Sentinel/wiki/控制檯,看看有什麼不同。

監控詳情

1.Sentinel中選單名是實時監控,AHAS這裡是監控詳情;

2.左邊星號按鈕提供了收藏資源功能,下次點監控詳情選單,已收藏的資源會優先顯示;
=> 方便重點關注某些資源

3.右邊第一按鈕,彈出對話方塊顯示該資源的監控圖表,並可以選擇時間;
=> 提供更多時間範圍的檢視,但是時間範圍只能是某一天

4.右邊第2個按鈕,可以彈出直接新增該資源規則的對話方塊;
=> 方便使用者在監控詳情介面直接新增、修改,其中有規則的資源,新增按鈕或變成修改按鈕,這點十分貼心!
但有個小問題是新增後要重新整理頁面或者重新進入選單,按鈕才由新增按鈕變為修改按鈕;

請求鏈路

1.Sentinel中選單名簇點鏈路,AHAS這裡是請求鏈路;

2.表格右邊操作列增加了監控按鈕,可方便的檢視該資源的監控圖表;

3.在平鋪檢視下,表列頭通過QPS、拒絕QPS等增加了點選排序功能;

4.平鋪/樹狀按鈕的左邊,有資源沒有出現文字和hover提示說明;

流控規則

1.列表頁表列頭,如:來源應用增加了點選排序,流控模式、閾值型別等增加了篩選按鈕;

2.規則增加了狀態,包括列表顯示和新增、修改,同時也可以批量啟用/禁用;

3.新增規則對話方塊頁面,有圖示hover提示,並可方便地跳轉到對應的產品說明文件;

降級規則

1.列表頁表列頭,資源名稱增加了點選排序,狀態增加了篩選按鈕;

2.規則增加了狀態,包括列表顯示和新增、修改,同時也可以批量啟用/禁用;

3.新增規則對話方塊頁面,有圖示hover提示,並可方便地跳轉到對應的產品說明文件;

4.降級規則中時間視窗加減秒,+-秒UI更加好看,方便通過滑鼠點選操作;

系統規則

1.列表頁表列頭,閾值增加了點選排序,狀態增加了篩選按鈕;

2.規則增加了狀態,包括列表顯示和新增、修改,同時也可以批量啟用/禁用;

機器列表

1.列表頁表列頭,機器名稱增加了點選排序,客戶端版本等增加了篩選按鈕;
=> 客戶端版本顯示1.3.1-1.0.1,好像有點問題?
2.少了1列埠號,多了1列程序ID;
=> 列名是程序ID,顯示的是數字,不確定這是埠號還還是程序ID,為什麼沒有顯示埠號?


總結

阿里雲上的AHAS作為開源元件Sentinel的產品化服務,提供了便捷、貼心的使用者體驗。

給力:

1.更加便捷的規則設定、監控檢視操作

比如在監控詳情頁可以新增、修改、刪除某資源的規則;在請求鏈路中可通過資源名檢視監控圖表;降級規則的時間

2.更加完善的監控圖表、規則列表檢視;

比如列表列頭增加點選排序、篩選;某資源的監控圖表可按時間篩選;

3.貼心的圖示hover提示,並支援跳轉到對應的產品文件;

比如新增規則、請求鏈路等介面都有文字圖示hover提示,在提示中有詳細說明描述,並可點選連結跳轉到對應的產品文件;

4.規則增加啟用/禁用狀態,並支援批量操作;

這樣規則不用刪除,而是可以保留隨時啟用/禁用;

5.完善的產品使用文件;

話說Sentinel官方wiki已經很讚了並且還在不斷完善,AHAS這個從快速入門、產品簡介、各功能詳細介紹、常見問題等,文件清晰又詳細;

吐槽:

1.監控詳情頁面對某資源增加規則後,頁面需要重新整理或者重新點選單,對應的按鈕圖示才會改變;

2.設定規則貌似是對所有節點生效的,和Sentinel控制檯支援舊版、新版不同,有時每個節點負載不一樣,可能有需要單獨設定的場景;

3.機器列表的客戶端版本顯示,以及沒有埠號;

4.監控詳情頁有QPS、RT維度的統計圖表,但缺少執行緒數、異常比例維度的圖表;

5.監控詳情頁使用者不知道預設排序,並缺少排序方式的選擇;


參考:
AHAS產品主頁:https://www.aliyun.com/product/ahas
AHAS控制檯:https://ahas.console.aliyun.com
Sentinel控制檯wiki:https://github.com/alibaba/Sentinel/wiki/控制檯
Sentinel主頁:https://github.com/alibaba/Sentinel