日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

什么是功能開關(guān)

功能開關(guān)是一個輕量級的動態(tài)配置框架,通過功能開關(guān)可以動態(tài)管理代碼中的配置項,根據(jù)需求為某個應用開啟或關(guān)閉部分功能,或設(shè)置某個性能指標的閾值。功能開關(guān)通常用于設(shè)置黑白名單、運行時動態(tài)調(diào)整日志級別、降級業(yè)務功能等場景。

背景信息

通常業(yè)務代碼中包含許多的配置項,這些配置項用于控制各種各樣的業(yè)務邏輯,例如一個bool類型的變量控制某個功能是否開啟,一個list控制訪問白名單或黑名單,一個String控制提示信息。開發(fā)者通常希望可以動態(tài)、實時地去查看和修改配置項,并且期望不需要編寫額外的代碼來管理,此時就可以利用AHAS功能開關(guān)來實時修改和查看對應的配置項。與傳統(tǒng)的配置中心不同,開發(fā)者使用AHAS功能開關(guān)時,無需關(guān)注配置項的解析邏輯,只需聲明對應的變量,加上AHAS功能開關(guān)的注解即可在功能開關(guān)控制臺對配置進行動態(tài)管理。

主要功能

  • 查看功能開關(guān):在AHAS控制臺功能開關(guān)中,可以直觀查看應用中包括哪些開關(guān),具體操作步驟,請參見查看功能開關(guān)switch2
  • 查看開關(guān)值分布:在AHAS控制臺功能開關(guān)中,可以直觀地查看對應開關(guān)值信息和分布信息,具體操作步驟,請參見查看功能開關(guān)值分布
  • 設(shè)置開關(guān)推送:在AHAS控制臺功能開關(guān)中,設(shè)置開關(guān)的推送值,推送成功后,業(yè)務代碼里會實時生效。具體操作步驟,請參見設(shè)置開關(guān)推送
    說明 AHAS功能開關(guān)還支持灰度分批推送,您可以先在一批機器驗證后再全局發(fā)布,防止預期外的變更導致線上故障。
例如在大促到來的時候,可以通過開關(guān)將非核心的業(yè)務邏輯降級,減少一些非必要的資源消耗。操作流程可參考以下示例:
  1. 在代碼中增加核心業(yè)務開關(guān)、植入埋點和業(yè)務邏輯。
  2. AHAS控制臺功能開關(guān)中查看業(yè)務開關(guān)的信息和值分布。
  3. AHAS控制臺功能開關(guān)中將此開關(guān)的推送值設(shè)為true
  4. 在控制臺上修改配置項,推送成功后,業(yè)務代碼里會實時生效。代碼中的此開關(guān)變量即變?yōu)?span data-tag="ph" id="codeph-k43-try-i9d" class="ph">true。即動態(tài)實時的通過功能開關(guān)控制業(yè)務邏輯。
開關(guān)推送步驟

常用場景

  • 運行時動態(tài)調(diào)整日志級別:在不同的應用場景下,您可能需要調(diào)整日志的級別,得到更有效的日志信息。功能開關(guān)提供了在應用運行時動態(tài)修改日志級別的功能。只要在應用中增加日志級別開關(guān),然后在控制臺中設(shè)置開關(guān)的推送值,即可快速的調(diào)整日志運行的級別,從而得到更有效的日志信息。具體操作步驟,請參見運行時動態(tài)調(diào)整日志級別
  • 主動降級業(yè)務功能:通常一個業(yè)務功能包含許多的業(yè)務邏輯,其中可以區(qū)分出一些核心業(yè)務和非核心業(yè)務。在高并發(fā)的情況下,例如618、雙十一等場景,為了提升系統(tǒng)性能,系統(tǒng)需要減少非必要業(yè)務的資源消耗,對非必要的業(yè)務功能進行主動降級。只要在應用中定義降級業(yè)務開關(guān),然后在控制臺設(shè)置開關(guān)推送,即可快速實現(xiàn)業(yè)務的降級。具體操作步驟,請參見主動降級業(yè)務功能
  • 黑白名單功能:黑白名單是常用的訪問控制規(guī)則,通過功能開關(guān)可以快速實現(xiàn)黑白名單功能。只要在應用中增加黑名單開關(guān)或白名單開關(guān),然后在控制臺設(shè)置開關(guān)推送即可。具體操作步驟,請參見快速實現(xiàn)黑白名單功能

注意事項

在有些IDE中,尤其是使用Spring Boot技術(shù)棧的時候,SwitchManager和用戶自己的代碼使用的是不同的ClassLoader加載的,會導致功能開關(guān)在云端修改后,在用戶的工程中由于不同ClassLoader的問題取不到最新修改的值。

接入指引

使用SDK接入

使用SDK接入

適用于Java語言的任何框架,只需簡單定義、初始化后即可接入功能開關(guān)。

使用Spring Boot Starter接入

使用Spring Boot Starter接入

Spring boot類應用專用接入方式,簡化接入流程。