阿裏雲中間件產品科技普惠企業,滿足多場景需求
阿裏雲上的互聯網中間件產品家族不久前又添了一名新成員,應用配置管理(ACM)的工具類產品。基於該產品,用戶可以在微服務應用架構、分布式架構下的服務治理、應用業務場景動態推送、大數據實時計算算法調整、企業級互聯網架構的異地多活等場景下極大地減輕配置管理的工作量,增強配置管理的服務能力,價格卻隻有傳統架構的十分之一。
ACM 產品是一款從 2008 年開始就開始使用並目前被大量應用於阿裏內部應用配置管理的工具類產品,是阿裏內部被眾多應用最廣泛依賴的中間件產品之一,在阿裏內外眾多核心場景有著廣泛使用案例。
一、微服務應用架構下的配置管理
在微服務架構下,隨著應用和機器數目的增多,配置(如DB_URL訪問信息、服務連接池、服務內部緩存大小等)管理的工作會變得很繁瑣。單個應用下多個機器的配置分發,應用對應用的配置依賴,都將成為挑戰。
在傳統架構的應用發布的過程中,應用的配置更改要求整個應用重新打包發布,整個過程非常繁瑣,且容易出錯。如下圖所示。
在基於ACM的微服務場景下,應用的重要配置被發布到ACM中,新的配置發布並不依賴配置打包。在新版本的配置發布後,所有應用立即即可生效。如下圖所示。
采用ACM作為配置中心為微服務帶來以下好處:
• 所有配置中心化,使得在眾多應用的情況下配置管理變得更加方便。
• 所有配置不依賴版本發布,使得配置變更更加靈活。
• 由於ACM天生支持灰度發布和回滾,使得配置的變更發布在微服務架構下變得更加安全。
二、分布式架構下的服務治理下的服務治理
在各類分布式架構下,如何基於某類 RPC 框架(RESTful, HSF, Dubbo 等)做好服務治理是非常關鍵的。其中,服務治理的服務路由,服務限流,服務降級,服務鑒權等,均可通過配置中心實現。
以限流降級為例,在阿裏雙11,對於每一次的服務限流降級相關操作都要求秒級響應,其內部就實際通過 ACM 來實現。如下圖所示。其中,每個 RPC 的服務端都會通過 ACM 注冊監聽對應服務的流控管理端息。當應用需要流控時,管理員通過到服務治理控製台做出限流的操作,服務治理係統會通過 ACM 將流控信息推送到對應的目標應用服務端,讓應用服務端根據對應配置采取相應的限流動作。
采用ACM為應用在分布式架構下的服務治理帶來以下好處:
• 良好的性能,通過采用配置推送的方式來監聽服務治理信息,對性能幾乎無影響。
• 相關的服務治理信息可以秒級推送到,響應時間迅速。
• 當限流降級錯推以後還可以通過秒級配置回滾來恢複狀態。
三、應用業務場景動態推送
如何快速讓前端頁麵響應營運活動,降低開發成本,提高運營效率也是ACM的一大場景。
以某電商運營為例:通過在前端Javascript埋入ACM的配置內容(如三方庫版本號,靜態資源URL,等),可以運營人員在運營活動發布時直接通過運營工具借助修改ACM配置規則直接讓前端Javascript的展示生效。
采用ACM為應用的業務場景推送帶來以下好處:
• 通過配置將業務靜態代碼和業務場景解耦,顯著提高運營相關的應用發布流程。
四、大數據實時計算算法調整
在大數據的實時計算領域,通常需要動態調整計算參數來取得最精確的實時計算結果。
以阿裏巴巴某內部 APM 類監控係統為例,該監控係統需要動態調節業務的閾值,來控製實時計算係統,計算業務的報警。而且在閾值修改過程中,要求整個過程要求實時性好,應用不能停機。該監控係統的計算閾值采用 ACM 的規則來推送。該場景如下所示。
采用ACM為應用在大數據實時計算場景帶來以下好處:
• 應用計算參數動態配置,動態生效,生效時間塊,性能影響低。
五、企業級互聯網架構下的異地多活場景
異地多活是目前企業級互聯網架構中的一種高級容災架構。相對於傳統容災架構的特點相比,有著業務恢複時間短,容量需求低,運維快捷簡單等特點。目前多活架構在阿裏巴巴、餓了麼等公司被廣泛采用。
在阿裏巴巴內部,容災多活架構的核心算法, ID分片和對應的的路由規則, 采用 ACM 來動態推送。其中,相應的客戶端和服務端,如RPC,MQ,DB都植入了路由路徑。當容災演練或者真實災難發生時,管理員隻需要動態的推送規則,響應的規則會影響到所有架構組件。其中,示意圖所下所示。
采用ACM為應用在異地多活場景中帶來以下好處:
• 基礎架構和容災邏輯解耦,具體的路由邏輯由容災規則切換決定。
• 生效快,理論上容災的切換規則可以秒級推送到十萬級別機器。
阿裏雲互聯網中間件產品追求創新的腳步從未停止,不斷根據用戶需求和市場發展調整並升級產品,相信未來,中間件產品一定會給用戶帶來更多更好的體驗。
最後更新:2017-11-13 17:04:19