二維碼
        企資網(wǎng)

        掃一掃關(guān)注

        當(dāng)前位置: 首頁 » 企資頭條 » 軍事 » 正文

        如何幫助業(yè)務(wù)絲滑配置?阿里巴巴用了_11_年的

        放大字體  縮小字體 發(fā)布日期:2022-07-02 15:01:10    作者:江堂焓    瀏覽次數(shù):65
        導(dǎo)讀

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

        我們業(yè)務(wù)常見得配置問題

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

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

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

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

        利用 AHAS 功能開關(guān),可以幫助企業(yè)構(gòu)建完善得線上運(yùn)維手段,作為流量防護(hù)等常規(guī)運(yùn)維手段得有力補(bǔ)充,功能開關(guān)可針對特定業(yè)務(wù)場景實(shí)現(xiàn)定向止損,及時保障應(yīng)用系統(tǒng)穩(wěn)定性;對不同業(yè)務(wù)場景下得配置項(xiàng)具體內(nèi)容可靈活變更,隨時調(diào)整;AHAS 功能開關(guān)可將原生 Spring 配置項(xiàng)自動轉(zhuǎn)化為功能開關(guān)項(xiàng),真正做到零改造。

        AHAS 功能開關(guān)實(shí)現(xiàn)邏輯

        通過 AHAS 控制臺管理和推送配置項(xiàng),應(yīng)用重啟或擴(kuò)容階段可讀取持久化配置。

        市場中現(xiàn)有得配置管理服務(wù)在某些配置管理核心環(huán)節(jié)存在嚴(yán)重不足,具體現(xiàn)象可簡述如下:

      1. 靈活性差

        現(xiàn)有配置管理服務(wù)多基于文件方式或需手動設(shè)置配置項(xiàng)方能生效,過程較為復(fù)雜,且容易出錯;AHAS 功能開關(guān)可自動支持原生 Spring 配置項(xiàng),極大解放業(yè)務(wù)人員生產(chǎn)力。

      2. 配置類型缺少校驗(yàn)

        現(xiàn)有配置管理服務(wù)在推送階段大多未實(shí)現(xiàn)類型校驗(yàn),可能導(dǎo)致嚴(yán)重線上故障,引發(fā)資損;AHAS 功能開關(guān)對配置類型進(jìn)行強(qiáng)校驗(yàn),把問題暴露在控制臺層面,避免由于人員操作失誤引發(fā)得問題。

      3. 持久化數(shù)據(jù)丟失

        現(xiàn)有配置管理服務(wù)多基于本地文件或數(shù)據(jù)庫進(jìn)行持久化,SLO 難以保障;AHAS 功能開關(guān)依托于集團(tuán)持久化產(chǎn)品保障開關(guān)持久化得可靠性。

      4. 侵入性強(qiáng)

        現(xiàn)有配置管理服務(wù)對代碼侵入性較強(qiáng),引入使用需做大量改造,耗費(fèi)較多精力;AHAS 功能開關(guān)提供 Agent 接入方式,對應(yīng)用完全無侵入,對某些需自定義開關(guān)場景可按需引入 SDK。

        和業(yè)界常見產(chǎn)品得差別是什么?

        對 switch 社區(qū)版及國內(nèi)外使用較為廣泛得開關(guān)配置產(chǎn)品,從配置在微服務(wù)運(yùn)維得各個階段及維度展開進(jìn)行比較。AHAS 在應(yīng)用接入得成本、配置推送得可操作性以及配置持久化方面都有較大得優(yōu)勢:

      5. 應(yīng)用接入

        應(yīng)用通過 Agent 方式接入 AHAS,連接功能開關(guān)服務(wù),無需對應(yīng)用做任何改造,真正做到無侵入。

      6. 配置推送

        通過 AHAS 控制臺即可對應(yīng)用得配置項(xiàng)進(jìn)行管理,按需推送配置項(xiàng),支持按節(jié)點(diǎn)推送與全局推送方式。

      7. 配置持久化

        通過 ACM 組件持久化配置項(xiàng),保障配置項(xiàng)高可靠性。應(yīng)用在重啟或擴(kuò)容階段可讀取持久化配置。

        詳細(xì)內(nèi)容見下表:

        除此之外,AHAS 功能開關(guān)相較于其他競品還具備如下差異化優(yōu)勢:

      8. 強(qiáng)類型校驗(yàn)

        用戶無需在業(yè)務(wù)層面對接收到得配置進(jìn)行類型及格式得校驗(yàn),校驗(yàn)工作由平臺承擔(dān),應(yīng)用僅需感謝對創(chuàng)作者的支持業(yè)務(wù)。

      9. 無侵入式接入

        對 SpringCloud 應(yīng)用支持一鍵接入,自動識別應(yīng)用中配置項(xiàng),可通過控制臺實(shí)時修改并進(jìn)行持久化等操作。

      10. 復(fù)雜配置項(xiàng)支持

        在復(fù)雜數(shù)據(jù)類型支持方面較為完善,無需遵守較為繁瑣得配置項(xiàng)規(guī)則。

      11. 開箱即用功能

        支持日志級別動態(tài)調(diào)整,獲取不同級別日志,方便問題分析、故障定位。

        業(yè)務(wù)中開關(guān)配置常見得應(yīng)用場景有哪些?

        動態(tài)調(diào)整日志級別

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

        配置項(xiàng)組合更新

        在實(shí)際得業(yè)務(wù)運(yùn)行場景下,可按不同場景批量更新組合配置項(xiàng)。所謂組合配置項(xiàng)指具有一組相互關(guān)聯(lián)業(yè)務(wù)語義得配置項(xiàng),如頁面公告中時間、標(biāo)題、內(nèi)容等,商品特殊優(yōu)惠配置中價(jià)格、優(yōu)惠折扣等。

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

        開關(guān)驅(qū)動開發(fā)

        以開關(guān)方式控制代碼執(zhí)行邏輯,用于新功能快速驗(yàn)證,在出現(xiàn)問題時可及時回退。相比復(fù)雜得系統(tǒng)發(fā)布,投入成本較低,可結(jié)合 DevOps 機(jī)制進(jìn)行實(shí)踐。

        如下圖所示,當(dāng)執(zhí)行邏輯觸發(fā)時訪問對應(yīng)得開關(guān)配置查看配置是否打開,從而決定是否執(zhí)行新功能。可用于 A/B 測試、環(huán)境隔離等場景。

        金絲雀(灰度)發(fā)布

        確保應(yīng)用發(fā)布得可觀測,可灰度,可回滾,使用金絲雀發(fā)布進(jìn)行小流量驗(yàn)證,驗(yàn)證通過后再全量升級,實(shí)時查看流量得分配情況。

        怎么配置 AHAS 開關(guān)?

        步驟一 :環(huán)境準(zhǔn)備

      12. 功能開關(guān) Agent 方式接入,與流量防護(hù)共用 Agent,

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

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

        步驟二:配置操作
        以開箱即用功能日志動態(tài)修改為例。
        進(jìn)入目標(biāo)應(yīng)用得開關(guān)列表頁面。在開關(guān)列表頁面搜索到 SYSTEM_LOG_ConFIG 開關(guān),即日志級別開關(guān)。

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

        { "root": "ERROR" }

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

        相關(guān)鏈接

        [1] 使用 SDK 接入

        感謝分享help.aliyun感謝原創(chuàng)分享者/document_detail/156225.html

        [2] 使用 Spring Boot Starter 接入

        感謝分享help.aliyun感謝原創(chuàng)分享者/document_detail/155940.html

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

        原文鏈接:感謝分享click.aliyun感謝原創(chuàng)分享者/m/1000337388/

        感謝為阿里云來自互聯(lián)網(wǎng)內(nèi)容,未經(jīng)允許不得感謝。

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

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

        粵ICP備16078936號

        微信

        關(guān)注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯(lián)系
        客服

        聯(lián)系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號: weishitui

        客服001 客服002 客服003

        工作時間:

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

        反饋

        用戶
        反饋

        主站蜘蛛池模板: 无码精品人妻一区二区三区漫画| 午夜爽爽性刺激一区二区视频| 国产精品乱码一区二区三| 国产精品无码一区二区三区电影| www亚洲精品少妇裸乳一区二区 | 亚洲色婷婷一区二区三区| 亚洲午夜福利AV一区二区无码| 奇米精品一区二区三区在线观看| 亚洲国产日韩一区高清在线| 亚洲一区二区免费视频| 亚洲午夜精品第一区二区8050| 色一情一乱一伦一区二区三区 | 国产av福利一区二区三巨| 亚洲另类无码一区二区三区 | 狠狠综合久久av一区二区| 无人码一区二区三区视频| 中文字幕乱码一区久久麻豆樱花 | 精品一区二区三区免费观看| 亚洲综合一区二区国产精品| 精品一区二区三区自拍图片区 | 白丝爆浆18禁一区二区三区| 日韩精品一区二区三区中文字幕 | 无码精品前田一区二区| 免费视频一区二区| 色偷偷av一区二区三区| 久久精品人妻一区二区三区 | 久久久久成人精品一区二区| 天堂资源中文最新版在线一区 | 国产一区二区精品| 91一区二区三区| 夜夜嗨AV一区二区三区| 免费精品一区二区三区在线观看| 国产精品一级香蕉一区| 一区二区中文字幕| 国产福利电影一区二区三区,日韩伦理电影在线福 | 亚洲av成人一区二区三区在线播放| 精品视频在线观看一区二区三区| 无码精品不卡一区二区三区| 亚欧在线精品免费观看一区| 成人精品一区二区三区电影| 91在线视频一区|