1. 概述
1.1 版本
| FineDataLink 版本 | 功能變動 |
|---|---|
| 4.2.9.4 | 支援流控規則和警報規則 |
1.2 應用場景
FineDataLink 目前未對資料服務 API 做併發限制,併發高時會把 Tomcat 執行緒佔滿導致瀏覽器頁面無法存取,影響到整個 FineDataLink 的工程。
當資料服務產生的 API API請求逾時或者有問題時,希望傳送郵件預警;使用者現在只能到資料服務維運介面查看到報錯資訊或者等業務反饋,不夠即時。
1.3 功能簡介
1)支援在全局 API 維度/單個API維度設定呼叫次數限制,在出現瞬時高併發存取時,超限制的那部分請求會快速失敗。

2)支援以API維度,新增警報規則,達到警報條件後,進行通知。

1.4 前提條件
1)有資料服務功能模組的入口權限,便可查看規則。詳情請參見:資料平台使用權限
2)只有超管才能配置流控規則、警報規則,非超管僅可查看有權限的內容。
2. 流控規則
提示:點選「資料服務>規則管理」,進入流控規則設定介面。如下圖所示:

2.1 全局規則
1)點選「查看」按鈕,再點選「編輯」按鈕,可編輯全局流控規則。如下圖所示:

2)為所有 API 設定流控規則。如下圖所示:

| 設定項 | 說明 |
|---|---|
| 統計時間視窗 | 單位可選擇分鐘、小時 數值需填入正整數 |
| 呼叫次數限制 | 預設為 1000 次 限制所有 API 在「統計時間視窗」內的呼叫次數,若超過限制,則觸發流控,超限制的那部分請求會快速失敗 |
3)啟動該規則。如下圖所示:

2.2 新增自訂規則
支援在應用維度、API維度,新增流控規則。
1)點選「新增自訂規則」按鈕,可為應用、API 新增規則。如下圖所示:

2)可設定具體的流控規則。如下圖所示:

| 設定項 | 說明 |
|---|---|
| 規則名稱 | 支援自訂 |
| 統計時間視窗 | 單位可選擇分鐘、小時 數值需填入正整數 |
| 呼叫次數限制 | 預設為 100 次 限制單個 API 在「統計時間視窗」內的呼叫次數,若超過限制,則觸發流控,超限制的那部分請求會快速失敗 注:「呼叫次數限制」對單個 API 生效,而非所有被選擇的 API 呼叫次數之和;比如作用物件為 API1 和 API2,次數限制為 100 次,那麼是對 API1 限制 100 次,對 API2 也限制 100 次 |
| 作用物件 | 1)點選「新增」按鈕後,可全選應用下的 API ,或者選擇應用下某些 API,支援跨應用選擇 API 注:已配置過流控規則的 API ,不支援再被選擇
2)支援移除已選擇的 API
|
3)設定完成後,介面如下圖所示:

3. 警報規則
3.1 新增流程
1)點選「資料服務>規則管理」,進入警報規則設定介面。如下圖所示:

2)點選「新增自訂規則」按鈕,對警報規則進行設定。如下圖所示:

| 設定項 | 說明 |
|---|---|
| 規則名稱 | 使用者自訂即可 |
| 統計時間視窗 | 單位可選擇分鐘、小時 含義:XX分鐘/小時內, 達到「警報條件」後,開始警報 |
| 警報條件 | 1)支援設定錯誤率(0-100的整數)和呼叫次數(正整數) 2)條件可選擇所有和任一;錯誤率和呼叫次數可以只勾選其中一個
3)邏輯:對多個作用物件中的每一個物件,都配置相同的警報條件;比如作用物件為 API1 和 API2,呼叫次數設定為 100,那麼是對 API1 限制 100,對 API2 也限制 100 |
| 警報頻率 | 1)單位為分鐘/小時 2)X 分鐘/小時內,對一個應用下的同一個 API,最多警報 Y 次 |
| 通知配置 | 通知物件支援平台使用者組(使用者/部門/角色);通知渠道支援平台/郵件/簡訊/用戶端(釘釘群機器人、飛書群機器人、企業微信群機器人) |
| 作用物件 | 1)作用物件支援選擇應用下所有 API、或者某些 API;支援跨應用選擇 API 注:已配置過警報規則的 API ,不支援再被選擇
2)支援移除已選擇的 API
|
3)配置後,介面如下圖所示:

3.2 警報內容
| 內容 | 詳情 |
|---|---|
| 警報標題 | 資料服務異常警報 |
| 警報內容 | ${API路徑} 於 ${警報時間} 發生${警報條件}警報。詳細情況請前往【任務維運】-【資料服務】-【呼叫記錄】查看。 注:警報條件就是具體的指標類型,目前有錯誤率和呼叫次數 |
