摘要:摘要在月日召開的第二屆研發(fā)效能嘉年華中,云效邀請(qǐng)了阿里云產(chǎn)品團(tuán)隊(duì)的伏羿和來(lái)自阿里巴巴中間件技術(shù)部的彥林帶來(lái)了如何借助配置中心加速企業(yè)服務(wù)快速迭代的主題分享。
摘要: 在5月29日召開的第二屆研發(fā)效能嘉年華中,云效邀請(qǐng)了阿里云產(chǎn)品團(tuán)隊(duì)的伏羿和來(lái)自阿里巴巴中間件技術(shù)部的彥林帶來(lái)了“如何借助配置中心ACM加速企業(yè)IT服務(wù)快速迭代”的主題分享。 分別對(duì)配置中心ACM和ACM技術(shù)進(jìn)行了講解,并且對(duì)ACM的主要應(yīng)用場(chǎng)景進(jìn)行了介紹,并進(jìn)行了Demo環(huán)節(jié)。
在5月29日召開的第二屆研發(fā)效能嘉年華中,云效邀請(qǐng)了阿里云產(chǎn)品團(tuán)隊(duì)的伏羿和來(lái)自阿里巴巴中間件技術(shù)部的彥林帶來(lái)了“如何借助配置中心ACM加速企業(yè)IT服務(wù)快速迭代”的主題分享。 分別對(duì)配置中心ACM和ACM技術(shù)進(jìn)行了講解,并且對(duì)ACM的主要應(yīng)用場(chǎng)景進(jìn)行了介紹,并進(jìn)行了Demo環(huán)節(jié)。
以下為精彩內(nèi)容整理:
配置中心基本形態(tài)介紹
有了配置中心以后,用戶或者管理員不需要再登錄到配置中心或者配置中心下面的操作系統(tǒng)去修改文件。取而代之的是到配置中心的平臺(tái)上去修改對(duì)應(yīng)的配置,那么配置會(huì)對(duì)后面不同的應(yīng)用監(jiān)聽到,當(dāng)配置或者應(yīng)用啟動(dòng)要去獲得配置的時(shí)候,通過(guò)配置中心和應(yīng)用的交互來(lái)完成任務(wù)的分發(fā)。通過(guò)這種方式極大的提高了修改配置的這種效率、簡(jiǎn)化了流程。
ACM簡(jiǎn)介
應(yīng)用配置管理(Application Configuration Management,簡(jiǎn)稱 ACM),ACM是由阿里中間件配置中心工具Diamond延伸出來(lái)的,在阿里內(nèi)部為被使用最廣泛的中間件,于2017年10月正式成為阿里云產(chǎn)品。
ACM 來(lái)自于阿里配置中心管理工具Diamond,那么Diamond在阿里內(nèi)部到底是什么情況呢?主要是幾點(diǎn),第一點(diǎn)Diamond可能是阿里內(nèi)部應(yīng)用最廣泛的中間介,覆蓋量大概是80%,主要是因?yàn)樗褂脠?chǎng)景是非常多的。作為一個(gè)配置中心工具,在阿里內(nèi)部有極好的性能保證,對(duì)內(nèi)承諾的SLA是保證在1秒以內(nèi),這個(gè)對(duì)很多上層的業(yè)務(wù)提供了能力的保證。當(dāng)機(jī)房發(fā)生故障的時(shí)候,通過(guò)配置中心去推配置能保證很多的工作負(fù)載能在1秒鐘之內(nèi)就能完成遷移。還有很多其他各種各樣的場(chǎng)景,比如說(shuō)通過(guò)非常方便的運(yùn)維能力能幫助集團(tuán)的很多其他業(yè)務(wù)去做類似于限流降級(jí)。還有去做一些算法的場(chǎng)景,還有去做多環(huán)境管理,應(yīng)用場(chǎng)景非常多,所以說(shuō)這個(gè)是目前配置中心管理在阿里內(nèi)部的一個(gè)使用現(xiàn)狀。
在外部來(lái)看同時(shí)期配置中心在行業(yè)的走向的歷史情況是什么樣的,到今天配置中心已經(jīng)完成了從原始的無(wú)工具到有工具,成為公有云上面一個(gè)正式產(chǎn)品的一個(gè)歷史發(fā)展路徑。從業(yè)界的發(fā)展歷程來(lái)看,配置中心已經(jīng)完成了從沒有工具到有工具再到正式產(chǎn)品化的一個(gè)發(fā)展歷程。
ACM 技術(shù)詳解
配置中心基本功能
有了配置中心以后用戶不需要登陸到機(jī)器上去改配置文件,取而代之的是他到配置的管理控制臺(tái)上去發(fā)布一個(gè)配置,相應(yīng)的配置會(huì)寫到配置中心的服務(wù)器上,服務(wù)中心會(huì)把不同的配置推送到下面的應(yīng)用上去。所以沉淀下來(lái)三個(gè)基本功能,第一個(gè)是發(fā)布配置,第二個(gè)是獲取配置,第三個(gè)是動(dòng)態(tài)配置的變化監(jiān)聽。
基礎(chǔ)架構(gòu)
ACM的服務(wù)端主要由三部分組成,第一個(gè)是地址服務(wù)器,提供ACM (Diamond)服務(wù)發(fā)現(xiàn)功能,實(shí)現(xiàn)了集群擴(kuò)容、下線等運(yùn)維工作對(duì)于應(yīng)用方的透明。第二個(gè)是ACM(diamond)-server組件,是ACM服務(wù)的核心。該組件通過(guò)Http協(xié)議向應(yīng)用方提供配置的持久化管理、動(dòng)態(tài)配置推送服務(wù)。實(shí)現(xiàn)上,ACM(diamond)-server組件是一個(gè)Web服務(wù)集群,集群節(jié)點(diǎn)間通過(guò)特定機(jī)制實(shí)現(xiàn)數(shù)據(jù)變更的增量同步,是無(wú)中心化的結(jié)構(gòu)。第三個(gè)是Mysql存儲(chǔ),是ACM(Diamond)服務(wù)持久化配置管理的基礎(chǔ)。在淘寶生產(chǎn)環(huán)境中,使用一主兩備的部署方式保障數(shù)據(jù)的安全。
總結(jié)來(lái)說(shuō),ACM的設(shè)計(jì),使用集群代替中心,做到無(wú)單點(diǎn),以此提高系統(tǒng)的可靠性;使用Http無(wú)狀態(tài)協(xié)議暴露服務(wù),使系統(tǒng)實(shí)現(xiàn)邏輯簡(jiǎn)單,不易出錯(cuò)。
基于Cache的配置發(fā)布、獲取原理
ACM (Diamond) 的持久化配置保存在mysql中,額外的服務(wù)端每個(gè)節(jié)點(diǎn)都以本地磁盤文件的形式保存了全量的配置數(shù)據(jù)作為cache。引入服務(wù)端配置數(shù)據(jù)的緩存文件后,一次配置數(shù)據(jù)的讀取請(qǐng)求,其實(shí)就是一次靜態(tài)文件的Http請(qǐng)求。借助0拷貝的優(yōu)化,減少了配置數(shù)據(jù)在應(yīng)用態(tài)和內(nèi)核態(tài)之間無(wú)用的內(nèi)存拷貝,大大提升了數(shù)據(jù)傳輸效率。
引入cache機(jī)制后,ACM (Diamond)在實(shí)現(xiàn)上可以被定為一個(gè)分布式的緩存系統(tǒng)。在CAP方面,ACM (Diamond)選擇犧牲數(shù)據(jù)的強(qiáng)一致,提供了最終一致性;保證了系統(tǒng)的可用性和分區(qū)容忍性。通過(guò)實(shí)踐也證明了,提供最終一致性的配置并發(fā)讀寫,可以滿足幾乎所有的配置中心應(yīng)用場(chǎng)景。
配置監(jiān)聽
配置監(jiān)聽需要達(dá)到的效果跟發(fā)布和獲取有點(diǎn)不一樣,一個(gè)配置發(fā)生變化了,怎么通過(guò)一個(gè)類似消息的方式把變化推送到客戶端,客戶端能及時(shí)知道變化了,同時(shí)內(nèi)部采取一些相應(yīng)的動(dòng)作。我們做的是一種類似于長(zhǎng)輪詢的方式的方式去做,客戶端會(huì)定期的在發(fā)起監(jiān)聽的這個(gè)配置的時(shí)候會(huì)發(fā)起一個(gè)30秒的長(zhǎng)連接,這個(gè)長(zhǎng)連接會(huì)帶到他所需要配置,如果在這30秒里面沒有配置發(fā)生變化的時(shí)候,那么30秒內(nèi)就返回一個(gè)空值,在接下來(lái)的下一個(gè)30秒會(huì)再發(fā)起一個(gè)連接。那么在這30秒內(nèi)如果是發(fā)現(xiàn)了任何的變化的時(shí)候,服務(wù)端會(huì)把發(fā)生變化的配置及時(shí)的通過(guò)長(zhǎng)連接,然后連接會(huì)返回這個(gè)客戶端,客戶端就可以拿到這個(gè)變化值。這種推拉結(jié)合的策略,做到了在長(zhǎng)連接和短連接之間的平衡,實(shí)現(xiàn)了讓服務(wù)端不用太關(guān)注連接的管理,效果上又獲得了類似TCP長(zhǎng)連接的信息推送的實(shí)時(shí)性。
ACM主要應(yīng)用場(chǎng)景
傳統(tǒng)的配置文件無(wú)法很好的解決分布式系統(tǒng)的配置管理訴求,雖然ACM是個(gè)工具,但是具有大能量,因?yàn)槟芡ㄟ^(guò)配置中心本身延伸出特別多的場(chǎng)景。對(duì)于配置安全管理、發(fā)布環(huán)境管理、程序包發(fā)布管理、業(yè)務(wù)場(chǎng)景動(dòng)態(tài)推送、動(dòng)態(tài)算法推送等方面ACM都可以很好的解決對(duì)應(yīng)的需求。
場(chǎng)景1 微服務(wù)應(yīng)用架構(gòu)下的配置管理
在傳統(tǒng)架構(gòu)的應(yīng)用發(fā)布過(guò)程中,修改一個(gè)應(yīng)用配置就需要將整個(gè)應(yīng)用重新打包發(fā)布,整個(gè)過(guò)程非常繁瑣,且容易出錯(cuò)。在基于 ACM 的微服務(wù)場(chǎng)景下,應(yīng)用的重要配置信息被發(fā)布到 ACM 中。新的配置發(fā)布并不依賴配置打包。在新版本的配置發(fā)布后,所有應(yīng)用立即生效,如圖所示。
采用 ACM 作為配置中心為微服務(wù)帶來(lái)的好處是,所有配置中心化,在應(yīng)用眾多的情況下配置管理變得更加方便。所有配置不依賴版本發(fā)布,使得配置變更更加靈活。ACM 天生支持灰度發(fā)布和回滾,使得配置的變更發(fā)布在微服務(wù)架構(gòu)下變得更加安全。
場(chǎng)景2 分布式架構(gòu)下的服務(wù)治理下的服務(wù)治理
怎么防止因?yàn)樾阅苓^(guò)載而導(dǎo)致的雪崩效應(yīng),一定是要做些動(dòng)態(tài)的流控的。傳統(tǒng)方法是去改配置文件,有了配置中心以后可以把相應(yīng)的配置的變更也是呈現(xiàn)在配置中心里,那么當(dāng)流控發(fā)生變化的時(shí)候只需要在配置中心里面改流控的閾值,閾值會(huì)動(dòng)態(tài)的推到下面所有訂購(gòu)閾值的客戶端,那么這樣就會(huì)做到一個(gè)相應(yīng)的流控。
采用ACM為分布式架構(gòu)下的服務(wù)治理帶來(lái)的好處是,良好的性能,通過(guò)采用配置推送的方式來(lái)監(jiān)聽服務(wù)治理信息,對(duì)性能幾乎無(wú)影響。相關(guān)的服務(wù)治理信息可以秒級(jí)推送到,響應(yīng)時(shí)間迅速。當(dāng)限流降級(jí)以后還可以通過(guò)秒級(jí)配置回滾來(lái)恢復(fù)狀態(tài)。
場(chǎng)景3 應(yīng)用業(yè)務(wù)場(chǎng)景動(dòng)態(tài)推送
現(xiàn)在的電商總會(huì)有一些的運(yùn)營(yíng)活動(dòng),比如說(shuō)六一兒童節(jié)就會(huì)在相應(yīng)的時(shí)間段推一些和小朋友相關(guān)的產(chǎn)品。最常規(guī)的方法大家馬上會(huì)想到的可能是做一個(gè)新的發(fā)布,到那個(gè)時(shí)間點(diǎn)推一批應(yīng)用上去,這樣應(yīng)用程序就會(huì)相應(yīng)的變更。但是用了配置中心以后,這一過(guò)程會(huì)得到非常大的簡(jiǎn)化。具體的就是把對(duì)應(yīng)的場(chǎng)景寫到配置中心里,在服務(wù)端展示的業(yè)務(wù)代碼里面,其實(shí)是訂閱配置中心里一段的代碼,代碼如果需要根據(jù)場(chǎng)景發(fā)生變化的時(shí)候把這個(gè)代碼在配置中心進(jìn)行一個(gè)變更,所有的業(yè)務(wù)代碼會(huì)及時(shí)的推送到服務(wù)器中,那么對(duì)應(yīng)的場(chǎng)景就會(huì)發(fā)生變更。通過(guò)這種方式大大降低了發(fā)布的頻次提高了業(yè)務(wù)的敏捷性。
場(chǎng)景4 大數(shù)據(jù)實(shí)時(shí)計(jì)算算法調(diào)整
這是業(yè)界做監(jiān)控非常典型的一個(gè)例子,我們?cè)谧鲂阅鼙O(jiān)控的時(shí)候,會(huì)有操作系統(tǒng)和應(yīng)用的數(shù)據(jù)通過(guò)消息對(duì)進(jìn)到流計(jì)算里做一些匯總。監(jiān)控的時(shí)候?qū)崟r(shí)報(bào)警怎么做?在做計(jì)算的時(shí)候分布式節(jié)點(diǎn)很多,當(dāng)報(bào)警的閾值發(fā)生變更的時(shí)候是需要通知到所有的節(jié)點(diǎn)的。在這塊阿里也是通過(guò)配置中心去做的,應(yīng)用計(jì)算參數(shù)動(dòng)態(tài)配置,動(dòng)態(tài)生效,生效時(shí)間塊,性能影響低。
場(chǎng)景5 企業(yè)級(jí)互聯(lián)網(wǎng)架構(gòu)下的異地多活場(chǎng)景
在異地多活里面有很多場(chǎng)景會(huì)用到ACM,這里只講一個(gè)簡(jiǎn)單的例子。在阿里巴巴內(nèi)部,容災(zāi)多活架構(gòu)的核心算法,ID分片和對(duì)應(yīng)的的路由規(guī)則均采用ACM來(lái)動(dòng)態(tài)推送。其中,相應(yīng)的客戶端和服務(wù)端,如RPC,MQ,DB都植入了路由路徑。當(dāng)容災(zāi)演練或者真實(shí)災(zāi)難發(fā)生時(shí),管理員只需要?jiǎng)討B(tài)的推送規(guī)則,相應(yīng)的規(guī)則會(huì)影響到所有架構(gòu)組件。使得基礎(chǔ)架構(gòu)和容災(zāi)邏輯解耦,具體的路由邏輯由容災(zāi)規(guī)則切換決定。生效快,理論上容災(zāi)的切換規(guī)則可以秒級(jí)推送到十萬(wàn)級(jí)別機(jī)器。
Demo
在對(duì)用戶進(jìn)行用戶中心改造的時(shí)候發(fā)現(xiàn)用戶有兩點(diǎn)需求,第一點(diǎn)是從運(yùn)維效率去考慮,將配置變更從之前的幾個(gè)小時(shí)的級(jí)別變成幾分鐘到幾秒的級(jí)別,帶來(lái)了效率的極大提升,運(yùn)維成本的大幅下降。第二點(diǎn)是安全的訴求。
為什么用了配置中心以后它的代碼里面就不需要出現(xiàn)這些敏感信息了?
使用配置中心之后把這些業(yè)務(wù)的數(shù)據(jù)全部抽離出來(lái),放到配置中心里,發(fā)布之后所有的這些鏡像都是一樣的,當(dāng)需要配置變更的時(shí)候只需要到控制臺(tái)去修改發(fā)布即可。
在ACM上把發(fā)布環(huán)節(jié)跳過(guò)的話,怎么保證配置能快速回滾,怎么能記錄歷史發(fā)布記錄?
ACM在這方面做了一個(gè)歷史版本的特性,當(dāng)用戶需要改錯(cuò)的時(shí)候,可以去查之前發(fā)布的歷史版本,找到對(duì)應(yīng)的版本點(diǎn)進(jìn)去立即回滾就可以回到之前的版本。
我們ACM產(chǎn)品目前預(yù)計(jì)會(huì)長(zhǎng)期免費(fèi),所以歡迎大家去使用。
原文鏈接
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/11881.html
摘要:通過(guò)新鮮出爐的調(diào)研數(shù)據(jù)讓我們一起來(lái)看看年中國(guó)市場(chǎng)云計(jì)算有哪些新的亮點(diǎn)和變化云計(jì)算持續(xù)增長(zhǎng),云原生成主要驅(qū)動(dòng)力云依舊是企業(yè)級(jí)用戶年的第一戰(zhàn)略重點(diǎn)。調(diào)查顯示圖,目前中國(guó)企業(yè)將通過(guò)企業(yè)級(jí)一致性混合多云布局工業(yè)互聯(lián)網(wǎng)作為戰(zhàn)略重點(diǎn)。云計(jì)算從最初的概念到如今的廣泛落地,企業(yè)上云之路在逐漸豐富的同時(shí),對(duì)于云的需求也在逐漸發(fā)生變化就IT現(xiàn)代化,相對(duì)于早期的云敏態(tài)和傳統(tǒng)架構(gòu)穩(wěn)態(tài),如今企業(yè)用戶面臨更多的是如何打...
摘要:以推出輕舟微服務(wù)平臺(tái)的網(wǎng)易云為代表,云計(jì)算公司正在微服務(wù)領(lǐng)域發(fā)力,促進(jìn)企業(yè)數(shù)字化創(chuàng)新。以網(wǎng)易云輕舟微服務(wù)平臺(tái)為例,該平臺(tái)已經(jīng)在物流工業(yè)和金融等領(lǐng)域得到了深度應(yīng)用。 所謂數(shù)字化轉(zhuǎn)型升級(jí),就是以數(shù)字技術(shù)優(yōu)化傳統(tǒng)資源,企業(yè)需要謹(jǐn)慎地選擇合適的技術(shù)逐步完成自己的數(shù)字化戰(zhàn)略。以推出輕舟微服務(wù)平臺(tái)的網(wǎng)易云為代表,云計(jì)算公司正在微服務(wù)領(lǐng)域發(fā)力,促進(jìn)企業(yè)數(shù)字化創(chuàng)新。那么,微服務(wù)對(duì)數(shù)字化轉(zhuǎn)型意味著什么?...
摘要:未來(lái)已來(lái),阿里云峰會(huì)向外界闡述了未來(lái)十年的戰(zhàn)略方向第一技術(shù),達(dá)摩院加持的云。不過(guò)阿里云提出的加速器計(jì)劃,還是讓企業(yè)服務(wù)市場(chǎng)為之慌亂。筆者認(rèn)為阿里云的加速器計(jì)劃,不是阿里做不做,關(guān)鍵的核心他有可能會(huì)影響到整個(gè)軟件行業(yè)的未來(lái)格局。All in Cloud未來(lái)已來(lái),阿里云峰會(huì)向外界闡述了未來(lái)十年的戰(zhàn)略方向:第一、技術(shù),達(dá)摩院加持的云。第二、產(chǎn)品,數(shù)據(jù)智能的云。第三、商業(yè),最佳實(shí)踐的云。第四、生態(tài),...
摘要:另有一項(xiàng)來(lái)自年云和采用行情報(bào)告調(diào)查顯示,全球企業(yè)用戶正以驚人的速度將應(yīng)用軟件和數(shù)據(jù)從公共云遷移到本地環(huán)境和私有云環(huán)境。浪潮商用機(jī)器應(yīng)云而生,在很大程度上,為中國(guó)企業(yè)用戶帶來(lái)了多云時(shí)代的創(chuàng)新選擇。81%的企業(yè)已意識(shí)到使用同一云廠商可能會(huì)帶來(lái)的危險(xiǎn)性,于是多云策略成為了企業(yè)用戶2018年開始談?wù)摰慕裹c(diǎn)。來(lái)自Rightscale的《2018年云計(jì)算狀態(tài)報(bào)告》顯示,平均每家企業(yè)都在接入多個(gè)公有云。另...
摘要:典型的配置中心產(chǎn)品,包括如上文提到的阿里云早期稱為,攜程,百度的,或者,等。而最近,作為一款配置中心產(chǎn)品,阿里云應(yīng)用配置管理簡(jiǎn)稱發(fā)布了一項(xiàng)加密配置功能,就旨在讓用戶更加安全的在配置中心存放配置。這在阿里云的安全體系中,通過(guò)的角色授權(quán)來(lái)實(shí)現(xiàn)。 摘要: 如果您現(xiàn)在正開始著手準(zhǔn)備解決自己的生產(chǎn)數(shù)據(jù)泄露問題,那么您可能需要看下這篇文檔,了解如何可以從配置著手來(lái)改善下您目前的情況。 您是否在您的...
閱讀 3316·2021-11-25 09:43
閱讀 1304·2021-11-23 09:51
閱讀 3609·2021-10-11 11:06
閱讀 3697·2021-08-31 09:41
閱讀 3597·2019-08-30 15:53
閱讀 3509·2019-08-30 15:53
閱讀 965·2019-08-30 15:43
閱讀 3306·2019-08-29 14:02