偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

網(wǎng)易蜂巢劉超:基于萬節(jié)點Kubernetes支撐大規(guī)模云應(yīng)用實踐

企業(yè)動態(tài)
隨著云計算的普及,越來越多的企業(yè)開始在云端部署自己的應(yīng)用,如何對這些應(yīng)用進行管理、調(diào)度、優(yōu)化、自主運維等,以實現(xiàn)應(yīng)用的快速部署、快速迭代和實時監(jiān)控,已然成為云計算服務(wù)的一大難題。

12月2日,ArchSummit全球架構(gòu)師峰會在北京開幕,作為面向高端技術(shù)管理者、架構(gòu)師的技術(shù)大會,本屆峰會吸引了上千位技術(shù)管理者、CTO、架構(gòu)師等。其中在云計算領(lǐng)域嶄露頭角的網(wǎng)易蜂巢受邀出席,網(wǎng)易蜂巢解決方案總架構(gòu)師劉超就Kubernetes支撐大規(guī)模云應(yīng)用的實踐進行了分享。

隨著云計算的普及,越來越多的企業(yè)開始在云端部署自己的應(yīng)用,如何對這些應(yīng)用進行管理、調(diào)度、優(yōu)化、自主運維等,以實現(xiàn)應(yīng)用的快速部署、快速迭代和實時監(jiān)控,已然成為云計算服務(wù)的一大難題。

網(wǎng)易蜂巢從2012年正式上線私有云平臺,到2014年,95%的互聯(lián)網(wǎng)應(yīng)用全部放到云平臺上,到2015年網(wǎng)易蜂巢容器云平臺正式對外開放,再到2016年上線DevOps和微服務(wù)。

作為網(wǎng)易云的基礎(chǔ)設(shè)施云服務(wù),網(wǎng)易蜂巢一直走在行業(yè)前列,并形成了新一代云計算的雛形,實現(xiàn)了從虛擬機到容器,從傳統(tǒng)應(yīng)用到微服務(wù)化,從傳統(tǒng)研發(fā)流程到DevOps,從私有云走向公有云的四個方面的轉(zhuǎn)變。

網(wǎng)易蜂巢已經(jīng)從最初千級別節(jié)點數(shù)成長為萬級別節(jié)點數(shù)集群,并支撐了擁有億級用戶的網(wǎng)易考拉海購和網(wǎng)易云音樂。在雙十一等訪問峰值來臨的時候,網(wǎng)易蜂巢系統(tǒng)的彈性伸縮能力以及應(yīng)用層的微服務(wù)化能力表現(xiàn)卓越。

據(jù)劉超介紹,網(wǎng)易蜂巢的技術(shù)優(yōu)化可以追溯到IaaS層、PaaS層和CaaS層。

網(wǎng)易蜂巢基于OpenStack自主研發(fā)了IaaS服務(wù),在計算虛擬化方面,通過裁剪KVM鏡像,優(yōu)化虛擬機啟動流程等改進,實現(xiàn)了虛擬機的秒級別啟動。在網(wǎng)絡(luò)虛擬化方面,通過SDN和Openvswitch技術(shù),實現(xiàn)了虛擬機之間的高性能互訪。在存儲虛擬化方面,通過優(yōu)化Ceph存儲,實現(xiàn)高性能云盤。

在PaaS層,網(wǎng)易可以說更加的功力深厚,在數(shù)據(jù)庫,緩存,對象存儲方面都有非常多的優(yōu)化。比如說數(shù)據(jù)庫RDS服務(wù),網(wǎng)易是兼容開源的mysql數(shù)據(jù)庫的所有接口的,然而開源的mysql會出現(xiàn)性能不高,主備切換數(shù)據(jù)丟失等現(xiàn)象,這對于很多關(guān)鍵應(yīng)用來講,是不能忍受的。網(wǎng)易是業(yè)內(nèi)為數(shù)不多的具備mysql內(nèi)核開發(fā)能力的公司之一,通過優(yōu)化主備同步技術(shù),可以實現(xiàn)主備切換數(shù)據(jù)零丟失,為了優(yōu)化mysql性能,網(wǎng)易還優(yōu)化了mysql并行復(fù)制技術(shù)和group commit技術(shù),實現(xiàn)了可靠性和性能的兼顧平衡。當(dāng)然數(shù)據(jù)庫的性能除了數(shù)據(jù)庫本身,SQL語句的撰寫也是十分重要的,直接影響著SQL查詢的性能和并發(fā)量,這雖然是應(yīng)用層的事情,但是蜂巢根據(jù)自己多年的數(shù)據(jù)庫運維經(jīng)驗,開發(fā)了SQL優(yōu)化工具,用戶只要將SQL語句輸入這個優(yōu)化工具,就可以發(fā)現(xiàn)SQL查詢的瓶頸以及修改建議,例如索引的設(shè)置問題,主鍵的設(shè)置問題等等。

不過劉超表示,傳統(tǒng)的私有云只能實現(xiàn)資源層面的彈性,應(yīng)用層面的彈性往往通過腳本實現(xiàn),而且很多互聯(lián)網(wǎng)應(yīng)用由于要求上線時間快,多采取單體架構(gòu)進行部署,從而喪失了三個方面的靈活性。

| 時間靈活性:應(yīng)用快速迭代,縮短客戶需求到產(chǎn)品上線的時間

| 空間靈活性:應(yīng)用彈性伸縮,應(yīng)對業(yè)務(wù)量突然增長后較短時間恢復(fù)

| 管理靈活性:易部署,易遷移,服務(wù)發(fā)現(xiàn),依賴管理,自動修復(fù),負載均衡

網(wǎng)易蜂巢作為容器云平臺,相比于虛擬機實現(xiàn)了以資源為核心到以應(yīng)用為核心的轉(zhuǎn)變,用戶可以通過對于應(yīng)用的改造,實現(xiàn)微服務(wù)化和DevOps.

***板斧:去狀態(tài)、可擴展。

原來的很多應(yīng)用程序都是有狀態(tài)的,所謂有狀態(tài),就是將很多數(shù)據(jù)保存在內(nèi)存中和本地文件系統(tǒng),這樣的話,一旦容器宕機后被分發(fā)到其他機器上的時候,所有的狀態(tài)就都不見了。通過將內(nèi)存中的數(shù)據(jù)放在外部的緩存系統(tǒng),將用戶數(shù)據(jù)放在數(shù)據(jù)庫中,將本地文件放在分布式存儲系統(tǒng)中,通過狀態(tài)的外置化,將應(yīng)用程序編程僅僅包含業(yè)務(wù)邏輯的實體,就可以進行橫向的彈性擴展,支撐大規(guī)模訪問了。對于外部的數(shù)據(jù),緩存系統(tǒng),數(shù)據(jù)庫系統(tǒng),和存儲系統(tǒng),都有自身的高可用的機制,不需要應(yīng)用層過多關(guān)心這方面的事情。

第二板斧:容器化、可編排。

有的人將容器化和微服務(wù)化劃等號,其實不是的,不僅僅微服務(wù)可以容器化,一旦去狀態(tài)了,就可以容器化。一旦容器化,就可以使用容器編排系統(tǒng)kubernetes進行容器的管理了。

例如一個應(yīng)用包含四個服務(wù)A,B,C,D,她們相互引用,相互依賴。如果使用了kubernetes,則服務(wù)之間的服務(wù)發(fā)現(xiàn)就可以通過服務(wù)名進行了,例如A服務(wù)調(diào)用B服務(wù),不需要知道B服務(wù)的IP地址,只需要在配置文件里面寫入B服務(wù)服務(wù)名就可以了。如果中間的節(jié)點宕機了,kubernetes會自動將上面的服務(wù)在另外的機器上啟動起來,容器啟動之后,容器的IP地址就變了,但是不用擔(dān)心,kubernetes會自動將服務(wù)名B和新的IP地址映射好,A服務(wù)并無感知。這個過程叫做自修復(fù)和自發(fā)現(xiàn)。如果服務(wù)B遭遇了性能瓶頸,三個B服務(wù)才能支撐一個A服務(wù),也不需要特殊配置,只需要將服務(wù)B的數(shù)量設(shè)置為3,A還是只需要訪問服務(wù)B,kubernetes會自動選擇其中一個進行訪問,這個過程稱為彈性擴展和負載均衡。

第三板斧:DevOps、可迭代。

在開發(fā)和運維的過程中,往往涉及開發(fā)環(huán)境,測試環(huán)境,聯(lián)調(diào)環(huán)境,生產(chǎn)環(huán)境。如果不同的環(huán)境都需要腳本進行維護,成本太大,不能滿足敏捷開發(fā)的要求。容器鏡像的不可改變性可以很好的解決這一點。

在容器的鏡像中,業(yè)務(wù)代碼,程序庫,系統(tǒng)依賴,文件目錄結(jié)構(gòu)等,都已經(jīng)打包在里面了,無論從哪里啟動起來,都是統(tǒng)一的環(huán)境,只需要通過環(huán)境變量和配置文件的形式將不同環(huán)境的差異注入即可。而且更加優(yōu)雅的是,結(jié)合上面說的編排系統(tǒng),服務(wù)之間的依賴可以通過服務(wù)名寫入配置文件,這樣不同的環(huán)境不需要修改配置文件就能夠找到對應(yīng)系統(tǒng)的服務(wù)。結(jié)合代碼管理系統(tǒng),通過web hook的方式,用戶提交代碼,馬上觸發(fā)web hook,調(diào)用到網(wǎng)易蜂巢的API,則網(wǎng)易蜂巢會在一分鐘內(nèi)構(gòu)建新的鏡像并更新應(yīng)用,接下來可以進行自動化測試,如果測試通過,則運維人員就可以一鍵更新線上生產(chǎn)環(huán)境了。

對于尚不能一步實現(xiàn)微服務(wù)化和DevOps的用戶,網(wǎng)易蜂巢還提供了有狀態(tài)容器的方式,通過掛在遠程云盤保存狀態(tài)數(shù)據(jù)的方式,使得用戶方便從虛擬機模式向容器模式進行過度。

在CaaS層面,為了支撐大規(guī)模云應(yīng)用,除了應(yīng)用層面的改造,容器的網(wǎng)絡(luò)和存儲性能也是非常重要的。在網(wǎng)絡(luò)方面,很多容器的使用者使用默認的port mapping的方式進行網(wǎng)絡(luò)互聯(lián),這樣對于應(yīng)用的浸入性太大。也有使用開源的如Docker Network, Flannel, Calico, Weave, OVS等方案,存在二次虛擬化的問題,虛擬機的網(wǎng)絡(luò)互聯(lián)是一次虛擬化,為了實現(xiàn)容器跨虛擬機互聯(lián),則需要進行二次虛擬化,大大降低性能。網(wǎng)易蜂巢基于SDN,將IaaS層的網(wǎng)絡(luò)互聯(lián)能力直接應(yīng)用與容器,通過一次虛擬化就能夠?qū)崿F(xiàn)容器的扁平化二層互聯(lián)。在存儲方面,如果使用容器的統(tǒng)一存儲策略,例如基于云盤搭建Ceph集群,也存在二次虛擬化的問題,云盤本身是一次虛擬化,將云盤作為普通的存儲,在其上搭建Ceph集群,則為二次虛擬化,大大降低性能,網(wǎng)易蜂巢基于Ceph,將云盤直接掛在到容器里面,實現(xiàn)一次虛擬化。

服務(wù)微服務(wù)化之后,容器數(shù)量會比較多,如果查找問題需要對于每個容器的日志進行查看,會比較難定位問題,網(wǎng)易蜂巢平臺提供統(tǒng)一的日志收集,分析,搜索服務(wù),用戶可以通過關(guān)鍵字進行搜索,將某個訂單號在各個應(yīng)用中的日志全部查詢出來,則問題就一目了然了。

除了問題的定位,性能瓶頸的定位也是一個挑戰(zhàn),網(wǎng)易蜂巢引入服務(wù)端 APM 解決細粒度性能分析,通過不同應(yīng)用之間的調(diào)用鏈,迅速發(fā)掘性能瓶頸。

當(dāng)容器規(guī)模擴大到一定程度,kubernetes的調(diào)度就成為了瓶頸,開源的kubernetes是通過串行隊列Pod queue進行任務(wù)調(diào)度的,當(dāng)任務(wù)規(guī)模比較大,但隊列不能滿足要求,網(wǎng)易蜂巢優(yōu)化為多個優(yōu)先級隊列,極大提高了任務(wù)的調(diào)度速度和容器的修復(fù)速度。另外由于kubernetes的數(shù)據(jù)是保存在etcd里面,當(dāng)容器規(guī)模擴大的時候,單個etcd集群已經(jīng)不能滿足讀寫性能,通過根據(jù)Pod/Node/Replication Controller等資源到拆分不同etcd集群,解決了集群擴展性的問題。

同時劉超表示,在這個“唯快不破”的互聯(lián)網(wǎng)時代,網(wǎng)易蜂巢將助力企業(yè)實現(xiàn)微服務(wù)化。

在如圖中的架構(gòu)里面,用戶僅僅需要關(guān)心自己的應(yīng)用的開發(fā)流程,實現(xiàn)微服務(wù)和DevOps,至于底層的IaaS層的計算,網(wǎng)絡(luò),存儲,中間的PaaS的數(shù)據(jù)庫,緩存,對象存儲,上層的CaaS層的持續(xù)集成、鏡像倉庫、服務(wù)發(fā)現(xiàn)、服務(wù)編排、日志服務(wù)、APM等,以及對外的負載均衡和CDN服務(wù),可以全部交給網(wǎng)易蜂巢平臺來實現(xiàn)。

更重要的是,網(wǎng)易蜂巢遵循開放、標準、穩(wěn)定的原則,所有的層面全部使用開源的軟件和開放的接口,使得服務(wù)本身易遷移、無綁定。

作為一家擁有19年經(jīng)驗的互聯(lián)網(wǎng)公司,網(wǎng)易在向客戶輸出穩(wěn)定云服務(wù)的同時,還將輸出完善的知識體系,幫助企業(yè)更好的運用好云服務(wù),并創(chuàng)造更大的價值。

責(zé)任編輯:Jane 來源: 51CTO
相關(guān)推薦

2022-06-27 09:42:55

攜程金融nebula圖平臺

2017-04-26 10:04:31

云計算

2016-12-07 10:41:03

2017-04-26 11:16:21

云計算網(wǎng)易云

2022-06-09 13:45:18

vivoK8S集群Kubernetes

2013-01-04 13:34:31

云計算北龍超云

2022-04-28 15:34:00

應(yīng)用優(yōu)化實踐

2021-04-22 13:38:21

前端開發(fā)技術(shù)

2024-09-26 10:41:31

2023-04-04 07:32:35

TorchRec模型訓(xùn)練

2023-11-20 07:27:00

云原生Spark

2014-07-15 13:41:41

阿里云可信云

2011-07-15 14:07:01

2017-01-11 10:57:29

2020-10-19 19:37:18

區(qū)塊鏈李鳴數(shù)字

2025-06-09 10:08:00

KubernetesGo容器

2024-07-19 09:01:07

2023-06-30 17:59:27

Ray離線推理
點贊
收藏

51CTO技術(shù)棧公眾號