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