功能開關
更新時間 2024-09-11 18:20:36
最近更新時間: 2024-09-11 18:20:36
分享文章
本章節介紹微服務治理中心功能開關能力
概述
通常業務代碼中包含許多的配置項用于控制服務啟停、黑名單、提示文案等業務邏輯。開發者通常希望可以動態、實時地去查看和修改配置項,并且期望編寫盡可能少的額外代碼。
功能開關提供了一個輕量級的動態配置框架,可以在項目中快速接入配置,并在控制臺實時管理配置項。與傳統的配置中心不同,您無需關注配置項的解析邏輯和配置中心運維,聲明配置對應的變量即可在應用配置控制臺查看配置聚合信息并進行統一的管理。
使用場景
常用場景1: 業務降級
在高并發的場景下,可以聲明開關變量,對非核心業務邏輯加入開關控制,然后在性能負載大的情況下在控制臺控制開關,屏蔽非核心業務邏輯,從而提升系統性能。
常用場景2: 黑白名單
在常見的訪問控制場景下,可以聲明黑白名單變量,在控制臺對黑白名單變量進行修改推送,動態控制黑白名單。
接入應用
在Pom文件中加入以下依賴
1.<dependency>??
2.????<groupId>cn.ctyun</groupId>??
3.????<artifactId>mse-switch-client</artifactId>??
4.????<version>1.0-SNAPSHOT</version>??
5.</dependency>??
聲明功能開關
在字段上加上cn.ctyun.mse.center.annotation.AppSwitch 注解,字段修飾符必須為 public static。
(可選)在字段上加上cn.ctyun.mse.center.annotation.SwitchGroup注解,定義開關的分類,注解缺失時默認按類名進行分類。
1.public?class?ConfigTest?{??
2.????@AppSwitch(des?=?"String?類型開關")??
3.????public?static?String?stringSwitch?=?"string";??
4.??
5.????@AppSwitch(?des?=?"Float?類型開關"?)??
6.????public?static?Float?floatSwitch?=?4.87F;??
7.}??
初始化開關
調用以下方法完成初始化,方法參數為可變參數,支持初始化多個開關常量類。SwitchManager.init(ConfigTest.class)。
配置啟動參數并重新部署
-Dmse.licenseKey={your licenseKey}
-Dmse.namespace=default
-Dswitch.endpoint=xxxxxxxxxx
驗證接入結果
進入控制臺-應用-功能開關頁面,若開關列表出現聲明的開關且節點列表出現應用所在節點,則說明接入成功。
查看功能開關
功能開關可以查看開關類型、生效節點數、開關分布信息、使用實例 ID 和 IP 等信息。
功能入口
- 登錄微服務治理控制臺。
- 在控制臺左側導航欄中選擇應用治理。
- 在應用治理頁面的應用卡片頁簽單擊目標應用卡片。
- 在左側導航欄選擇功能開關,進入目標應用的開關列表,列表展現方式有分組模式和全部開關模式,可以展開查看開關的描述、生效節點數、使用的實例ID、IP 等信息。

- 單擊操作列的值分布,即可查看對應開關信息和分布信息,包括值編號、開關值等。

推送開關值
功能開關提供開關值的推送能力,動態覆蓋應用的配置項。功能開關支持全局推送和單機推送兩種推送方式。
功能入口
- 登錄微服務治理控制臺。
- 在控制臺左側導航欄中選擇應用治理。
- 在應用治理頁面的應用卡片頁簽單擊目標應用卡片。
- 在左側導航欄選擇功能開關,進入目標應用的開關列表。
- 單擊開關列表頁面操作列的全局推送或單機推送,在右側彈出開關推送頁面,在此頁面中可查看開關名、分組、開關類型等信息,并可以編輯推送值。

- 完成編輯推送值后,單擊下一步:值對比,會顯示出修改點。若還需修改,則單擊上一步:返回修改,若修改完成,則單擊單機推送或全局推送(全局推送為持久化推送,即重啟之后開關值仍然生效)。

查看歷史記錄
功能開關提供開關推送的歷史記錄查詢,包括推送的值、類型、操作時間、生效節點等信息。
功能入口
- 登錄微服務治理控制臺。
- 在控制臺左側導航欄中選擇應用治理。
- 在應用治理頁面的應用卡片頁簽單擊目標應用卡片。
- 在左側導航欄選擇功能開關,單擊歷史記錄,進入目標應用的開關推送歷史記錄頁面。
- 按開關名、推送類型、操作時間等條件過濾。

- 單擊操作列下的查看,可以查看此條推送記錄的開關名、分組、推送類型、推送值和生效IP。