當(dāng)前位置:首頁 >  IDC >  云計算 >  正文

“云原生怪圈”驅(qū)動的網(wǎng)易大規(guī)模容器化與Service Mesh實踐

 2019-11-14 16:56  來源: 互聯(lián)網(wǎng)   我來投稿 撤稿糾錯

  域名預(yù)訂/競價,好“米”不錯過

近日,2019攜程技術(shù)峰會在上海舉行,本屆峰會主題為“技速前進,與智攜行”,聚焦大數(shù)據(jù)與人工智能、無線大前端、架構(gòu)演進、云原生四大熱門技術(shù)領(lǐng)域,網(wǎng)易云首席架構(gòu)師劉超受邀在云原生分會場發(fā)表演講,為與會嘉賓分享了網(wǎng)易大規(guī)模容器化與Service Mesh的實踐經(jīng)驗。

網(wǎng)易云首席架構(gòu)師 劉超

隨著云原生技術(shù)的發(fā)展,容器化和微服務(wù)也在企業(yè)數(shù)字化轉(zhuǎn)型升級的過程中發(fā)揮著越來越重要的作用。網(wǎng)易作為業(yè)內(nèi)云原生技術(shù)的先行者,在容器和微服務(wù)的實踐上積累了豐富的經(jīng)驗。劉超將網(wǎng)易的容器和微服務(wù)化歷程總結(jié)為四個階段。

階段1:應(yīng)用層和基礎(chǔ)設(shè)施各自為戰(zhàn)

第一個階段,應(yīng)用層和基礎(chǔ)設(shè)施層各自為戰(zhàn),表現(xiàn)在組織架構(gòu)上就是開發(fā)只負責(zé)寫代碼,運維只負責(zé)管理資源和部署應(yīng)用。隨著應(yīng)用的增多,應(yīng)用層成為煙囪式的架構(gòu),運維也倍感壓力,通過腳本化部署解放人力。這個階段的主要問題是腳本不成體系,難以維護;虛擬機依賴人工調(diào)度;高可用依賴底層FT、HA、DR機制,無法區(qū)分業(yè)務(wù)優(yōu)先級;網(wǎng)絡(luò)、虛擬化、存儲等基礎(chǔ)設(shè)施無抽象化概念,復(fù)雜度高,全面依賴運維,大量審批。

階段2:應(yīng)用層服務(wù)化,進入“云原生怪圈”正循環(huán)

這些問題迫使應(yīng)用層開始進行服務(wù)化拆分,進入第二階段。但微服務(wù)的體系建立并非一蹴而就,服務(wù)化的拆分,服務(wù)的注冊和發(fā)現(xiàn)只是基礎(chǔ)。服務(wù)化架構(gòu)給應(yīng)用層帶來的直接問題包括服務(wù)雪崩,大量請求堆積、故障恢復(fù)慢等問題,需要引入fail fast、熔斷、軟負載均衡等機制。另一方面,隨著應(yīng)用層服務(wù)數(shù)量的增多,也會對基礎(chǔ)設(shè)施層產(chǎn)生壓力,造成服務(wù)器資源的分配困難以及環(huán)境的管理和部署困難。

“云原生怪圈”驅(qū)動的應(yīng)用層與資源層正循環(huán)

而當(dāng)企業(yè)通過基礎(chǔ)設(shè)施層云化,平臺自助化實現(xiàn)資源層的靈活調(diào)度后,又會激發(fā)應(yīng)用層數(shù)量的增長。劉超將這個過程形象地比喻為“云原生怪圈”,而這個圈中的正向循環(huán)是云原生概念的核心體現(xiàn),也是驅(qū)動網(wǎng)易不斷在容器和微服務(wù)領(lǐng)域探索和優(yōu)化的動力。

階段3:基礎(chǔ)設(shè)施層提供統(tǒng)一應(yīng)用層框架

這時微服務(wù)框架和服務(wù)治理還停留在應(yīng)用層,業(yè)務(wù)方面臨大量業(yè)務(wù)代碼之外的開發(fā)工作,一方面需要基礎(chǔ)設(shè)施層統(tǒng)一微服務(wù)框架與開源技術(shù)棧,來服務(wù)業(yè)務(wù)方;另一方面需要基于Jenkins打造CI/CD服務(wù),并抽象出產(chǎn)品、環(huán)境等多級概念,匹配實際研發(fā)情境。據(jù)劉超介紹,在第三個階段,網(wǎng)易一方面通過微服務(wù)治理邏輯抽離為微服務(wù)治理框架NSF,以無侵入的方式實現(xiàn),并支持Spring Cloud、Dubbo等開源技術(shù)棧;另一方面通過引入APM,API網(wǎng)關(guān),容器和分布式事務(wù)等,解決這個階段遇到的最新問題。尤其是容器化的改造,要兼容虛擬機部署模式,逐漸遷移,并且要和IaaS做到深度的融合,從而實現(xiàn)最優(yōu)的性能。

階段4:基礎(chǔ)設(shè)施層提供Service Mesh框架

現(xiàn)階段,也就是第四個階段,網(wǎng)易的部分業(yè)務(wù)已經(jīng)在進行基礎(chǔ)設(shè)施層提供Service Mesh框架的嘗試。以網(wǎng)易嚴(yán)選為例,其向Service Mesh遷移的方案整體基于Envoy+Istio,從數(shù)據(jù)面來看,Outbound指向Sidecar,Inbound可配置流量攔截,控制面以Pilot為核心,注冊中心通過Kubernetes原生方式實現(xiàn)。同時,遷移過程中由于要兼容舊的架構(gòu),可以通過灰度引流的方式實現(xiàn)逐步遷移。

此外,為了應(yīng)對容器化后,測試環(huán)境需求指數(shù)增長的問題,輕舟微服務(wù)還提供了流量染色功能。比如基于流量染色的測試環(huán)境管理,整個測試環(huán)境共享一套基準(zhǔn)環(huán)境,部署所有應(yīng)用,分支環(huán)境僅部署增量服務(wù);全棧多環(huán)境多機房流量染色方案,可以同機房部署多套Kubernetes實現(xiàn)A/B測試,也可應(yīng)對Kubernetes的升級風(fēng)險問題。

云原生架構(gòu)的“一棧式”工具鏈

網(wǎng)易將在微服務(wù)領(lǐng)域的實踐經(jīng)驗以輕舟微服務(wù)平臺的方式賦能內(nèi)外部用戶,幫助其實現(xiàn)易接入、易運維的微服務(wù)解決方案。輕舟微服務(wù)平臺包括七大產(chǎn)品線,可以覆蓋云原生架構(gòu)的“一棧式”工具鏈。例如,API網(wǎng)關(guān)、NSF微服務(wù)框架和分布式事務(wù)主要用于構(gòu)建中臺體系,加速業(yè)務(wù)創(chuàng)新;容器平臺主要用于探索互聯(lián)網(wǎng)模式,支撐高并發(fā)應(yīng)用;CI/CD和GoAPI測試平臺,主要實現(xiàn)持續(xù)集成和灰度發(fā)布,用于優(yōu)化產(chǎn)品體驗。

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

相關(guān)標(biāo)簽
網(wǎng)易云

相關(guān)文章

熱門排行

信息推薦