• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

      2022-07-02 14:14:34李小紅
      電腦知識與技術(shù) 2022年15期
      關(guān)鍵詞:配置

      李小紅

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

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

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

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

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

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

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

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

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

      1.1 安全性

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

      1.2 時(shí)效性

      配置改動后,需要和修改代碼一樣,走完整的上線流程。配置修改上線涉及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ì)對比情況見表1。

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

      2.1 CMDBuild

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

      存在的問題舉例:

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

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

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

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

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

      6)CMDB是運(yùn)維標(biāo)準(zhǔn)化、自動化的基石,提供全局唯一的、權(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對接外部系統(tǒng);

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

      7)構(gòu)建連接器對接外部數(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界面對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)級別;

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

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

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

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

      2.2 Archaius

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

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

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

      3)高性能和線程安全;

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

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

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

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

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

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

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

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

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

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

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

      代碼啟動時(shí),Archaius會根據(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)用動態(tài)配置收益

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

      5結(jié)束語

      對于配置文件,軟件技術(shù)人員并不陌生,它提供了可以動態(tài)修改程序運(yùn)行能力。引用別人的一句話就是:系統(tǒng)運(yùn)行時(shí)(runtime)飛行姿態(tài)的動態(tài)調(diào)整。把這種工作稱之為在快速飛行的飛機(jī)上修理零件,技術(shù)人員總是無法掌控和預(yù)知一切。對于系統(tǒng)來說需要預(yù)留一些控制線條,以便在需要的時(shí)候做出調(diào)整,控制系統(tǒng)方向(如灰度控制、限流調(diào)整),這對于擁抱變化的互聯(lián)網(wǎng)行業(yè)尤為重要,應(yī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ù)委員會秘書處、中國電子學(xué)會有線電視綜合信息技術(shù)分會.全國互聯(lián)網(wǎng)與音視頻廣播發(fā)展研討會(NWC)暨中國數(shù)字廣播電視與網(wǎng)絡(luò)發(fā)展年會(CCNS)論文集(2020年特輯).國家新聞出版廣電總局科學(xué)技術(shù)委員會秘書處,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ù)器集群資源生命周期資源管理平臺的設(shè)計(jì)與實(shí)現(xiàn)[D].長沙:湖南大學(xué),2019.

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

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

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

      猜你喜歡
      配置
      關(guān)于生態(tài)園林設(shè)計(jì)中植物的配置研究
      電網(wǎng)無功補(bǔ)償科學(xué)配置與優(yōu)化控制的一體化研究
      淺析企業(yè)員工招聘中存在的主要問題及對策研究
      草坪在園林設(shè)計(jì)中的應(yīng)用
      簡析電力系統(tǒng)繼電保護(hù)技術(shù)及配置應(yīng)用
      中國市場(2016年41期)2016-11-28 05:35:27
      一種智能家居系統(tǒng)自學(xué)習(xí)免配置方法
      世界主要國家軍民融合式發(fā)展財(cái)力資源配置的啟示
      商情(2016年39期)2016-11-21 10:03:22
      論高校網(wǎng)絡(luò)防火墻的配置與管理
      計(jì)算機(jī)Linux網(wǎng)絡(luò)操作系統(tǒng)特點(diǎn)及服務(wù)器配置研究
      試論人力資源配置及其作用與模式
      神池县| 商丘市| 镇巴县| 衡水市| 崇左市| 黔东| 和田县| 鹰潭市| 新巴尔虎右旗| 会同县| 旬邑县| 芮城县| 汶川县| 阿瓦提县| 天津市| 海盐县| 海丰县| 景泰县| 抚松县| 星子县| 满城县| 平安县| 临邑县| 河南省| 久治县| 常州市| 建宁县| 松潘县| 时尚| 台东市| 正阳县| 丹凤县| 垦利县| 海阳市| 柳江县| 怀仁县| 汉寿县| 黄骅市| 甘洛县| 嫩江县| 南川市|