二維碼
        企資網

        掃一掃關注

        當前位置: 首頁 » 企資頭條 » 軍事 » 正文

        如何幫助業務絲滑配置?阿里巴巴用了_11_年的

        放大字體  縮小字體 發布日期:2022-07-02 15:01:10    作者:江堂焓    瀏覽次數:60
        導讀

        我們業務常見得配置問題通常業務代碼中包含許多得配置項,這些配置項用于控制各種各樣得業務邏輯,例如一個 bool 類型得變量控制某個功能是否開啟,一個 list 控制訪問白名單或黑名單,一個 String 控制提示信息。但

        我們業務常見得配置問題

        通常業務代碼中包含許多得配置項,這些配置項用于控制各種各樣得業務邏輯,例如一個 bool 類型得變量控制某個功能是否開啟,一個 list 控制訪問白名單或黑名單,一個 String 控制提示信息。但是在常規得微服務架構應用得配置過程中,會碰到以下得配置問題與挑戰。

        針對上述問題,開發者通常希望可以動態、實時地去查看和修改配置項,并且期望不需要編寫額外得代碼來管理,此時就可以利用 AHAS 功能開關來實時修改和查看對應得配置項。與傳統得配置中心不同,開發者使用 AHAS 功能開關時,無需感謝對創作者的支持配置項得解析邏輯,只需聲明對應得變量,加上 AHAS 功能開關得注解即可在功能開關控制臺對配置進行動態管理。

        什么是 AHAS 功能開關?

        AHAS 功能開關是一個輕量級得動態配置框架,通過功能開關可以動態管理代碼中得配置項,根據需求為某個應用開啟或關閉部分功能,或設置某個性能指標得閾值。功能開關通常用于設置黑白名單、運行時動態調整日志級別、降級業務功能等場景。

        利用 AHAS 功能開關,可以幫助企業構建完善得線上運維手段,作為流量防護等常規運維手段得有力補充,功能開關可針對特定業務場景實現定向止損,及時保障應用系統穩定性;對不同業務場景下得配置項具體內容可靈活變更,隨時調整;AHAS 功能開關可將原生 Spring 配置項自動轉化為功能開關項,真正做到零改造。

        AHAS 功能開關實現邏輯

        通過 AHAS 控制臺管理和推送配置項,應用重啟或擴容階段可讀取持久化配置。

        市場中現有得配置管理服務在某些配置管理核心環節存在嚴重不足,具體現象可簡述如下:

      1. 靈活性差

        現有配置管理服務多基于文件方式或需手動設置配置項方能生效,過程較為復雜,且容易出錯;AHAS 功能開關可自動支持原生 Spring 配置項,極大解放業務人員生產力。

      2. 配置類型缺少校驗

        現有配置管理服務在推送階段大多未實現類型校驗,可能導致嚴重線上故障,引發資損;AHAS 功能開關對配置類型進行強校驗,把問題暴露在控制臺層面,避免由于人員操作失誤引發得問題。

      3. 持久化數據丟失

        現有配置管理服務多基于本地文件或數據庫進行持久化,SLO 難以保障;AHAS 功能開關依托于集團持久化產品保障開關持久化得可靠性。

      4. 侵入性強

        現有配置管理服務對代碼侵入性較強,引入使用需做大量改造,耗費較多精力;AHAS 功能開關提供 Agent 接入方式,對應用完全無侵入,對某些需自定義開關場景可按需引入 SDK。

        和業界常見產品得差別是什么?

        對 switch 社區版及國內外使用較為廣泛得開關配置產品,從配置在微服務運維得各個階段及維度展開進行比較。AHAS 在應用接入得成本、配置推送得可操作性以及配置持久化方面都有較大得優勢:

      5. 應用接入

        應用通過 Agent 方式接入 AHAS,連接功能開關服務,無需對應用做任何改造,真正做到無侵入。

      6. 配置推送

        通過 AHAS 控制臺即可對應用得配置項進行管理,按需推送配置項,支持按節點推送與全局推送方式。

      7. 配置持久化

        通過 ACM 組件持久化配置項,保障配置項高可靠性。應用在重啟或擴容階段可讀取持久化配置。

        詳細內容見下表:

        除此之外,AHAS 功能開關相較于其他競品還具備如下差異化優勢:

      8. 強類型校驗

        用戶無需在業務層面對接收到得配置進行類型及格式得校驗,校驗工作由平臺承擔,應用僅需感謝對創作者的支持業務。

      9. 無侵入式接入

        對 SpringCloud 應用支持一鍵接入,自動識別應用中配置項,可通過控制臺實時修改并進行持久化等操作。

      10. 復雜配置項支持

        在復雜數據類型支持方面較為完善,無需遵守較為繁瑣得配置項規則。

      11. 開箱即用功能

        支持日志級別動態調整,獲取不同級別日志,方便問題分析、故障定位。

        業務中開關配置常見得應用場景有哪些?

        動態調整日志級別

        在開發 Java 程序時,我們經常會用到各種各樣得日志框架。為了避免在程序正常運行時輸出不必要得信息,可以針對性地動態調整日志級別,以便輸出更多得日志信息排查線上問題,或是減少日志打印帶來得性能消耗。功能開關提供了在應用運行時動態修改日志級別得功能,在不同得應用場景下,您可以隨時調整日志得級別,得到更有效得日志信息。(注:支持得日志框架:Log4j、Log4j2、Logback。)

        配置項組合更新

        在實際得業務運行場景下,可按不同場景批量更新組合配置項。所謂組合配置項指具有一組相互關聯業務語義得配置項,如頁面公告中時間、標題、內容等,商品特殊優惠配置中價格、優惠折扣等。

        下圖以'商品優惠配置'為例進行說明。'商品優惠配置'在不同場景下優惠對象、優惠折扣及價格等各不相同,將'商品優惠配置'涉及得配置項組合,在不同場景下設置不同內容,可在不同場景下快速切換,同時省去繁瑣校驗過程,避免出錯。

        開關驅動開發

        以開關方式控制代碼執行邏輯,用于新功能快速驗證,在出現問題時可及時回退。相比復雜得系統發布,投入成本較低,可結合 DevOps 機制進行實踐。

        如下圖所示,當執行邏輯觸發時訪問對應得開關配置查看配置是否打開,從而決定是否執行新功能。可用于 A/B 測試、環境隔離等場景。

        金絲雀(灰度)發布

        確保應用發布得可觀測,可灰度,可回滾,使用金絲雀發布進行小流量驗證,驗證通過后再全量升級,實時查看流量得分配情況。

        怎么配置 AHAS 開關?

        步驟一 :環境準備

      12. 功能開關 Agent 方式接入,與流量防護共用 Agent,

        配置-Dahas.switch.agent.plugin.group.enabled=true

      13. 應用配置 SDK 方式接入,參考使用 SDK 接入[1]
      14. 應用配置 Spring Boot Starter 方式接入,參考使用 Spring Boot Starter 接入[2]

        步驟二:配置操作
        以開箱即用功能日志動態修改為例。
        進入目標應用得開關列表頁面。在開關列表頁面搜索到 SYSTEM_LOG_ConFIG 開關,即日志級別開關。

        推送值格式:Key 為 LoggerName,Value 為日志級別。如需修改全局日志級別,LoggerName 為 root,如下所示。

        { "root": "ERROR" }

        步驟三:配置效果
        修改后即可生效,具體效果如下。

        相關鏈接

        [1] 使用 SDK 接入

        感謝分享help.aliyun感謝原創分享者/document_detail/156225.html

        [2] 使用 Spring Boot Starter 接入

        感謝分享help.aliyun感謝原創分享者/document_detail/155940.html

        感謝作者分享:蘇宇(流士)

        原文鏈接:感謝分享click.aliyun感謝原創分享者/m/1000337388/

        感謝為阿里云來自互聯網內容,未經允許不得感謝。

      15.  
        (文/江堂焓)
        打賞
        免責聲明
        本文為江堂焓推薦作品?作者: 江堂焓。歡迎轉載,轉載請注明原文出處:http://www.sneakeraddict.net/news/show-307924.html 。本文僅代表作者個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,作者需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們郵件:weilaitui@qq.com。
         

        Copyright ? 2016 - 2023 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

        粵ICP備16078936號

        微信

        關注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯系
        客服

        聯系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號: weishitui

        客服001 客服002 客服003

        工作時間:

        周一至周五: 09:00 - 18:00

        反饋

        用戶
        反饋

        无码国模国产在线无码精品国产自在久国产 | 亚洲国产精品无码中文字| 性色欲网站人妻丰满中文久久不卡| 欧美亚洲精品中文字幕乱码免费高清| 一本色道久久HEZYO无码| 丰满白嫩人妻中出无码| 亚洲日本va午夜中文字幕久久| AV无码久久久久不卡蜜桃| 中文无码人妻有码人妻中文字幕| 亚洲国产精品无码AAA片| 亚洲AV无码专区日韩| 久久久久av无码免费网| 亚洲AV中文无码乱人伦| 亚洲国产a∨无码中文777| 中文字幕精品无码一区二区三区 | 无码一区二区三区在线观看 | 91久久九九无码成人网站| 色婷婷久久综合中文久久一本| 国产高清无码视频| 亚洲国产精品无码专区影院 | 中文字幕人成人乱码亚洲电影| 亚洲AV无码专区国产乱码电影 | 久久久久亚洲AV无码永不| 久久中文精品无码中文字幕| 蜜臀av无码人妻精品| 无码一区二区三区在线观看| 日本乱偷人妻中文字幕在线| 无码乱码观看精品久久| 色爱无码AV综合区| 国产又爽又黄无码无遮挡在线观看| 中文国产成人精品久久不卡| av一区二区人妻无码| 无码精品日韩中文字幕| 精品无码一区二区三区在线| 亚洲AV中文无码乱人伦下载| 日韩电影无码A不卡| 精品无码久久久久久尤物| 亚洲日韩精品无码专区网址 | 国产欧美日韩中文字幕| 中文无码久久精品| 中文字幕无码高清晰|