從微服務應用於技術棧,瞭解華爲雲微服務應用

摘要:一個成熟的微服務解決方案產品需要經歷足夠大的業務量侵襲,才能變得更加成熟和可靠。

雲原生時代,隨着容器技術、微服務架構思想、產品研發運營模式不斷地推陳出新和迅速發展,應用的設計和開發落地門檻已經降低到了歷史低點。根據IDC的調查研究表明,從2018年到2023年將有超過500,000,000個應用被創建,這個數字是過去40年所有創建應用的總和。

另外,在IDC於2020年2月發佈的《IDC FutureScape: 全球雲計算2020 年預測——中國啓示》中顯示,雲原生應用所影響的領域正逐漸從互聯網走向非互聯網,從傳統應用升級走向雲原生。當下,雲原生技術的成熟正極大地影響着個人、企業乃至整個社會的生產生活方式。

在這場應用的變革中,越來越多的應用所有方會將應用基礎設施交由更加專業的公有云/混合雲服務商進行管理,通過API的方式對基礎設施進行管理,由服務商提供更加敏捷和無縫的部署管理功能。如此,應用所有方可以將更多的投資及人力投入聚焦到應用本身的業務邏輯設計、開發、運維和體驗優化,大大減少了產品上市的時間並得到了更高的可伸縮性,使應用開發的ROI(投資回報率)最大化。

使用微服務架構構建雲原生應用

雲原生應用的定義有多種版本,最早爲2015年pivital提出了雲原生應用的定義,隨後CNCF在2015年也對雲原生應用進行了定義,2018年進行了重定義,具體定義可以參考kubernetes-handbook。可以發現自從雲原生的概念出現,微服務架構就是雲原生應用中濃墨重彩的一部分。

1.1. 使用微服務的場景

構建雲原生應用,首先一定是企業或者個人想要最大程度將自己的時間和精力從複雜的底層依賴開發維護中解放出來,集中在業務場景的設計和實現上,並且能夠獨立解耦的自動化完成應用各個模塊的開發落地。這意味着獨立開發的某一模塊或負責某一單獨業務的開發者,會最大程度的利用雲廠商提供的DevOps工具鏈完成整個應用開發運維的共同目標,這樣大家可以輕鬆地將應用作爲一個松耦合的服務集合快速發佈和更新,降低成本的同時也更容易避免單點故障。

1.2. 微服務應用在技術棧中的位置

假設應用所有者已經做好了微服務的業務設計,我們來看看在落地階段,微服務應用在產品研發和運行中的位置:

紅色部分爲微服務應用的核心模塊,是由應用所有者開發和維護地運行時微服務應用。隨着業務的增長,受系統能力影響,爲了提高微服務的高可用、可靠性以及韌性,需要對微服務進行治理。常見的治理手段有:負載均衡、熔斷、限流、降級、容錯和隔離等,篇幅有限這裏不加贅述。

黃色部分從左到右代表從Dev到Ops的技術。首先,選擇使用侵入式框架開發服務或者非侵入式網格接入遺留應用或多語言服務。微服務框架可以選擇SpringCloud、Dubbo、ServiceComb等,服務網格可選擇Istio等。框架或服務網格可以幫助開發者處理微服務運行時面臨的橫切面問題(crosscutting concern),比如:日誌框架(log4j/logback)、健康檢查、metrics、分佈式追蹤等。其次,編碼完成後,可使用雲服務廠商提供的DevOps工具鏈能力實現代碼的歸檔、編譯構建、發佈部署等能力,將微服務部署在運行環境中。最後,還可以利用雲服務廠商提供的運維能力對微服務進行運維監控。一般來說,雲服務廠商提供的應用平臺能力也是獨立而解耦的,應用所有者可根據自己的需求和預算來自定義選擇自己需要的服務。

紫色部分是運行時技術棧,藍色箭頭代表流量的流向。當微服務部署運行起來後,流量會從各種客戶端首先連接到入口(比如服務網關/ELB),同時,流量在這裏會根據請求特徵分發到各個對應的業務處理微服務,隨後對請求進行一系列的處理,返回結果。微服務的運行還依賴了很多中間件,比如:分佈式事務、緩存、消息等;還有一些微服務的功能特性,比如:服務網格、服務註冊發現等,這些中間件或特性也都由框架或者雲服務廠商提供。微服務和中間件等其實都是上層服務部署在基礎設施上,比如:虛機、容器或CCI實例。

綜上所述,一個應用的落地其實涉及到很多技術和場景,使用微服務架構開發應用可以最大程度的簡化應用所有者對底層設施和中間件的管理運維,通過自定義使用雲服務廠商提供地全場景、端到端的應用平臺能力,將資源聚焦在業務創新和落地上(紅框部分)。

華爲雲微服務基於雲原生技術的案例

一個成熟的微服務解決方案產品需要經歷足夠大的業務量侵襲,才能變得更加成熟和可靠。華爲終端業務中的應用市場、Vmall、瀏覽器、華爲音樂、負一屏等20多款應用,5億多的用戶量,日均千億次調用,背後正是由一萬多微服務實例集羣在支撐。

早期華爲終端業務部門自研GAF單體應用架構並不能滿足業務的高併發、敏捷迭代的需求,運維的成本和難度成幾何級上升。基於CSE微服務框架,智能助手將其後端拆分爲多個微服務,實施集羣部署,開發效率提高一倍,系統吞吐量提高50%,系統開銷降低30%,運維效率也大幅提升,智能助手應用SLA提升到99.96%。更輕量級的架構拆分至多個3-5人的微服務團隊,採用DevOps開發模式,真正實現Cloud-Native敏捷開發。

華爲消費者雲基於Apache ServiceComb的高性能,低延遲的異步技術來實現1,500多個節點級的微服務,支持7.6億移動手機用戶在線。使用ServiceComb,QPS提升2倍+,時延降低45%。目前,華爲終端業務中的應用市場已在全球100多個國家上線,支持70多種語言,累積下載超過1200億次。

一直以來,華爲雲作爲Apache ServiceComb項目的開發主力,並基於Apache ServiceComb在華爲雲微服務應用平臺ServiceStage提供對應的商業化服務,在雲原生領域,華爲雲持續深耕,降低技術門檻,將雲原生技術紅利不斷釋放給企業;在商業領域,華爲雲不斷加強產品服務能力,爲更多企業上雲、數字化轉型提供共同發展的沃土。

 

點擊關注,第一時間瞭解華爲雲新鮮技術~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章