亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        應(yīng)用動(dòng)態(tài)配置系統(tǒng)

        2022-07-02 14:14:34李小紅
        電腦知識(shí)與技術(shù) 2022年15期

        李小紅

        摘要:配置(Configuration) 概念對(duì)每個(gè)技術(shù)人員都不陌生,基本上每個(gè)系統(tǒng)都有配置參數(shù)。造成這種現(xiàn)象的本質(zhì)是技術(shù)人員無法掌控和預(yù)知一切,回到軟件領(lǐng)域上,就需要他們對(duì)系統(tǒng)的某些功能特性預(yù)留出控制的余地,以便在未來需要時(shí),可以人為控制系統(tǒng)的行為特征。配置即程序運(yùn)行時(shí)動(dòng)態(tài)調(diào)整行為的能力。隨著用戶規(guī)模的增大和計(jì)算功能的微服務(wù)化,成百上千個(gè)微服務(wù)組件的運(yùn)行都需要依賴于各種配置文件。因此,技術(shù)人員需要通過配置中心統(tǒng)一管理配置。文章介紹如何基于CMDB[1]和Archaius[2]技術(shù)打造可靠的應(yīng)用動(dòng)態(tài)配置系統(tǒng)。

        關(guān)鍵詞:配置;CMDB;Archaius

        中圖分類號(hào):TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

        文章編號(hào):1009-3044(2022)15-0058-03

        1 動(dòng)態(tài)配置系統(tǒng)背景

        快速迭代的系統(tǒng)要求需求的變更能快速實(shí)現(xiàn)并上線。經(jīng)統(tǒng)計(jì),公司20%的需求是修改配置類的,如果每次修改都需要完整的上線流程,效率低下。而且傳統(tǒng)的配置文件方式和數(shù)據(jù)庫的方式已無法滿足開發(fā)人員對(duì)配置管理的要求:

        1)安全性:配置跟隨源代碼保存在代碼庫中,容易造成配置泄漏;

        2)時(shí)效性:修改配置,需要重啟服務(wù)才能生效;

        3)局限性:無法支持灰度動(dòng)態(tài)調(diào)整:例如日志開關(guān)、功能開關(guān)。

        1.1 安全性

        程序配置中包含有數(shù)據(jù)庫賬號(hào)或密碼,加密的密鑰等信息都明文存儲(chǔ)在項(xiàng)目代碼庫中,且對(duì)所有人員開放,隱藏著巨大的風(fēng)險(xiǎn)。

        1.2 時(shí)效性

        配置改動(dòng)后,需要和修改代碼一樣,走完整的上線流程。配置修改上線涉及4方人員,8個(gè)步驟。

        1.3 局限性

        配置變更本身也蘊(yùn)藏著風(fēng)險(xiǎn),因?yàn)榕渲玫淖兏簿痛碇鴺I(yè)務(wù)邏輯的變化。軟件技術(shù)開發(fā)人員也希望變更能實(shí)現(xiàn)灰度上線。

        2 應(yīng)用配置系統(tǒng)的設(shè)計(jì)

        當(dāng)前,各大公司都有自己的應(yīng)用配置中心產(chǎn)品,調(diào)研市面上當(dāng)前比較常用的技術(shù),詳細(xì)對(duì)比情況見表1。

        雖然都基本滿足需求,但為了與當(dāng)前芒果TV運(yùn)維體系的CMDB無縫結(jié)合,調(diào)研發(fā)現(xiàn),CMDBuild[5]開源項(xiàng)目非常契合需求,且與Netflix的動(dòng)態(tài)配置讀取SDK完美配合。

        2.1 CMDBuild

        芒果TV基于開源和自研構(gòu)建了很多運(yùn)維平臺(tái),如多云持續(xù)交付、統(tǒng)一監(jiān)控、自動(dòng)化測(cè)試等。但是這些平臺(tái)各自獨(dú)立地維護(hù)配置信息,形成配置信息的孤島,導(dǎo)致配置管理困難。

        存在的問題舉例:

        1)配置數(shù)據(jù)手動(dòng)維護(hù),且無標(biāo)準(zhǔn)工作流保障,容易導(dǎo)致配置數(shù)據(jù)與資源實(shí)際情況不匹配;

        2)各平臺(tái)之間的配置數(shù)據(jù)管理沒有聯(lián)動(dòng),容易導(dǎo)致配置的不一致;

        3)配置數(shù)據(jù)模型不統(tǒng)一,每個(gè)平臺(tái)采用自己的方式,互操作性差,溝通成本高;

        4)配置數(shù)據(jù)沒有通過存取接口對(duì)外暴露,甚至保存在文件中,使用不方便;

        5)代碼配置隨代碼一起存放在Git[6],敏感信息存在安全風(fēng)險(xiǎn);

        6)CMDB是運(yùn)維標(biāo)準(zhǔn)化、自動(dòng)化的基石,提供全局唯一的、權(quán)威的配置數(shù)據(jù)來源。

        CMDBuild是意大利Tecnotecasrl公司開源的配置管理數(shù)據(jù)庫解決方案,遵循AGPL開源許可協(xié)議。最早發(fā)布于2006年,每年更新數(shù)次,最新版本3.0進(jìn)行了大規(guī)模的重構(gòu),于2019年4月12日發(fā)布。

        CMDBuild是靈活可配置的,原生支持以下功能。

        1)數(shù)據(jù)模型可配置;

        2)工作流可配置;

        3)報(bào)表可配置;

        4)儀表盤可配置;

        5)通過API對(duì)接外部系統(tǒng);

        6)自定義頁面(提供GUI框架);

        7)構(gòu)建連接器對(duì)接外部數(shù)據(jù)源(提供連接器框架)。

        CMDBuild其實(shí)是一個(gè)配置管理引擎,軟件技術(shù)開發(fā)人員可以基于它定制出不同的CMDB解決方案。它有兩個(gè)預(yù)配置的CMDB解決方案(均為開源,但是部分功能和服務(wù)只有付費(fèi)的訂閱用戶可使用) :

        1)Ready2Use:面向IT資產(chǎn)和服務(wù)管理,符合ITIL[7]最佳實(shí)踐(不僅是CMDB,更是CMS);

        2)OpenMAINT:面向物業(yè)資產(chǎn)管理及維護(hù)。

        CMDBuild有兩種工作模式:

        1)系統(tǒng)管理模式下:系統(tǒng)管理員依據(jù)事先設(shè)計(jì)的 CMDB模型,定義數(shù)據(jù)模型、工作流、報(bào)表和儀表盤等要素,這些要素共同組成CMDB應(yīng)用;

        2)數(shù)據(jù)管理模式下:數(shù)據(jù)管理員可以通過GUI界面對(duì)CMDB中的配置數(shù)據(jù)進(jìn)行管理,也可以通過 API實(shí)現(xiàn)CMDB與外部系統(tǒng)的交互和數(shù)據(jù)同步。

        芒果TV的CMDB借鑒Ready2Use的模型和思路,基于Ready2Use來擴(kuò)展。

        CMDBuild支持:

        1)配置模型可以靈活定義、擴(kuò)展;

        2)以關(guān)系圖的形式顯示配置項(xiàng)之間的關(guān)系;

        3)訪問權(quán)限管理可以細(xì)化到類(Class)、卡片(Card)、字段(Field)級(jí)別;

        4)可保留并查詢數(shù)據(jù)的歷史修改記錄。

        CMDBuild的工作流可以根據(jù)場景需要靈活定制,可以配置審批人和權(quán)限控制,詳細(xì)記錄管理活動(dòng)的細(xì)節(jié),支持配置郵件通知,支持自動(dòng)任務(wù)調(diào)度。

        CMDBuild提供兩種不同風(fēng)格的API接口:REST和SOAP。

        基于CMDBBuild設(shè)計(jì)的應(yīng)用配置模型如下:

        2.2 Archaius

        Archaius是Netflix公司開源項(xiàng)目之一,基Java的配置管理類庫,主要用于多配置存儲(chǔ)的動(dòng)態(tài)獲取。主要功能是對(duì)Apache Common Configuration類庫的擴(kuò)展。在開發(fā)中,可以將其用作分布式配置管理依賴構(gòu)件。同時(shí),它有如下一些特性:8308A0F7-E324-4974-BC57-1A42DF3979B2

        1)配置可動(dòng)態(tài)調(diào)整;

        2)配置支持類型(Int, Long, Boolean等);

        3)高性能和線程安全;

        4)提供一個(gè)拉(pulling)配置的框架,可以從配置源動(dòng)態(tài)拉取變更的配置;

        5)支持回調(diào)(callback)機(jī)制,在配置變更時(shí)自動(dòng)調(diào)用;

        6)組合配置(核心內(nèi)容)。

        圖3是Archaius的總體設(shè)計(jì):

        3 應(yīng)用動(dòng)態(tài)配置

        結(jié)合CMDBuild和Archaius的應(yīng)用動(dòng)態(tài)配置系統(tǒng)架構(gòu)如圖4所示:

        基于此架構(gòu)的結(jié)構(gòu)圖如圖5所示。

        在CMDBuild后臺(tái)修改配置后,通過工作流審核,可以按數(shù)據(jù)中心、區(qū)域、集群和服務(wù)器進(jìn)行灰度。

        集群下某臺(tái)機(jī)器的配置文件名規(guī)則,以base.properties為例:

        base-${CMDB_DC}-${CMDB_REGION}-${CMDB_ENV}-${CMDB_SERVER}.properties

        機(jī)器開啟時(shí),會(huì)設(shè)置有環(huán)境變量:CMDB_DC、CMDB_REGION、CMDB_ENV、CMDB_SERVER。

        代碼啟動(dòng)時(shí),Archaius會(huì)根據(jù)環(huán)境變量優(yōu)先讀?。篵ase-${CMDB_DC}-${CMDB_REGION}-${CMDB_ENV}-${CMDB_SERVER}.properties,以此來實(shí)現(xiàn)灰度配置生效,當(dāng)未找到此文件時(shí),再讀取默認(rèn)配置文件。

        4 應(yīng)用動(dòng)態(tài)配置收益

        使用新的動(dòng)態(tài)配置系統(tǒng)后,配置修改生效流程非常簡單。

        5結(jié)束語

        對(duì)于配置文件,軟件技術(shù)人員并不陌生,它提供了可以動(dòng)態(tài)修改程序運(yùn)行能力。引用別人的一句話就是:系統(tǒng)運(yùn)行時(shí)(runtime)飛行姿態(tài)的動(dòng)態(tài)調(diào)整。把這種工作稱之為在快速飛行的飛機(jī)上修理零件,技術(shù)人員總是無法掌控和預(yù)知一切。對(duì)于系統(tǒng)來說需要預(yù)留一些控制線條,以便在需要的時(shí)候做出調(diào)整,控制系統(tǒng)方向(如灰度控制、限流調(diào)整),這對(duì)于擁抱變化的互聯(lián)網(wǎng)行業(yè)尤為重要,應(yīng)用動(dòng)態(tài)配置系統(tǒng)恰好達(dá)到了此目的。

        參考文獻(xiàn):

        [1] 姜才康.配置管理系統(tǒng)建設(shè)實(shí)踐與探索[J].金融電子化,2018(2):68-70.

        [2] 楊平. 媒體融合服務(wù)網(wǎng)格技術(shù)及應(yīng)用[C]//國家廣播電視總局科學(xué)技術(shù)委員會(huì)秘書處、中國電子學(xué)會(huì)有線電視綜合信息技術(shù)分會(huì).全國互聯(lián)網(wǎng)與音視頻廣播發(fā)展研討會(huì)(NWC)暨中國數(shù)字廣播電視與網(wǎng)絡(luò)發(fā)展年會(huì)(CCNS)論文集(2020年特輯).國家新聞出版廣電總局科學(xué)技術(shù)委員會(huì)秘書處,2020:10.

        [3] 李迪.基于Raft協(xié)議及RocksDB的分布式統(tǒng)一配置中心設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2019.

        [4] 李帥.微服務(wù)架構(gòu)的研究及其在線教育系統(tǒng)的實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2018.

        [5] 蘇星星. 服務(wù)器集群資源生命周期資源管理平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D].長沙:湖南大學(xué),2019.

        [6] 宋冬生.Git——版本管理之利器[J].程序員,2007(11):118-119,10.

        [7] 周盈,胡順全.基于ITIL的自動(dòng)化運(yùn)維方法分析[J].中國管理信息化,2021,24(6):130-131.

        【通聯(lián)編輯:唐一東】8308A0F7-E324-4974-BC57-1A42DF3979B2

        2019日韩中文字幕mv| 亚洲国产精品国自产拍av在线| 午夜一区二区三区免费观看| 国产自拍精品一区在线观看| 国产女人水真多18毛片18精品| 婷婷四房播播| 青青草免费激情自拍视频| 亚洲精品国产亚洲av| 中文字幕色av一区二区三区| 亚洲gv白嫩小受在线观看| 亚洲AV秘 片一区二区三区| av天堂亚洲另类色图在线播放| 国内精品久久久久久久97牛牛| ā片在线观看| 久久久诱惑一区二区三区| 亚洲毛片在线观看免费| 久久精品国产亚洲av电影网| 9999毛片免费看| 日本一区二区精品色超碰| 不卡的av网站在线观看| 免费特级毛片| 亚洲一区二区在线视频播放| 91国内偷拍精品对白| 亚洲av成人无遮挡网站在线观看| 4444亚洲人成无码网在线观看| 久久婷婷国产综合精品| 免费观看人妻av网站| 亚洲成av人片天堂网| 在线观看无码一区二区台湾| 一区二区三区一片黄理论片| 欧美激情肉欲高潮视频| 欧美极品美女| 人成视频在线观看免费播放| 久久一本日韩精品中文字幕屁孩 | 日本精品一区二区三本中文| 国产一区二区熟女精品免费| 又黄又爽又无遮挡免费的网站| 久久99精品久久久久久| 日韩精品一区二区av在线| 日本在线观看一区二区三| 色婷婷综合久久久久中文|