999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于Docker的數據中心云平臺實現方法及系統

2017-04-10 01:11:19彭勇謝劍童遙申光
中興通訊技術 2017年2期

彭勇+謝劍+童遙+申光

摘要:為解決現有平臺即服務(PaaS)云平臺的可用性和兼容性等問題,提出了一種基于Docker的通用容器解決方案,并進一步提出基于該容器的云平臺系統架構,詳細描述了各個子系統及其功能模塊的設計實現。認為通過引入動態調度模塊,并復用多個分布式系統的公共組件,將使該系統架構的調度能力更加開放。

關鍵詞: PaaS;Docker;平臺架構;資源調度

1 應用服務部署現狀

隨著信息化技術的深入發展,數據中心的應用服務數量急劇增加,原有采用實體機和虛擬機部署應用服務的方式面臨著以下的問題:

(1)數據中心資源利用率不高。

(2)應用環境管理復雜,維護效率不高。

(3)應用服務遷移困難。

(4)傳統應用服務部署啟動慢。

2 現有PaaS云平臺分析和Docker容器技術

2.1 現有PaaS云平臺分析

平臺即服務(PaaS)是云服務的一種[1],服務提供商不僅提供按需索取的硬件和操作系統服務,還提供了應用程序平臺和解決方案。通過PaaS平臺,應用開發者可以很方便地把應用和服務托管在平臺之上,而不用關心它們底層的硬件配置和運行環境。目前,業界已涌現出眾多的PaaS云平臺[2],但它們均存在很大的不足。首先就是應用的運行環境兼容性較差,單一化的運行托管環境會導致應用的兼容性降低,不利于PaaS平臺的快速擴張和通用性要求;其次,PaaS平臺內置的基礎能力也不足,無法滿足應用提供者對于能力的多樣化需求[3];另外,現有的PaaS云平臺一般僅提供針對特定編程語言的應用運行環境,如Google應用程序工程(GAE)[4]僅支持Python和Java運行環境,新浪應用程序工程(SAE)[5]僅支持Java和PHP5運行環境,因此急需提升平臺的可用性和擴展性。

2.2 Docker容器技術

Docker是基于Linux的LXC(Linux容器)技術,把應用包裝在容器里,使其具有移植性和獨立性。具體來講,Docker提供標準化的Image和Image共享等功能,能夠很簡便地在Docker內部嵌入一個Web服務器(如Jetty、Tomcat等),更重要的是,使用Docker可以運行非常多的容器進程,針對不同Web服務能提供不同的Image,并將各類不同的應用運行環境統一封裝,對外提供統一管理和操作接口,提高PaaS平臺的可用性和靈活性。

3 基于Docker的PaaS云平臺設計

基于Docker的數據中心云平臺的系統架構如圖1所示,下面對該PaaS云平臺涉及的主要實體和實體間的邏輯子模塊進行描述。

(1)云平臺調度子系統。

云平臺調度子系統是整個云平臺的大腦,用于合理地分配系統資源,具體說來就是一個容器到底落地在哪些物理服務器上[6]。調度子系統可細分為兩個部分:初次調度和動態調度。初次調度是當用戶第一次創建應用時進行的調度,包括資源的創建、刪除、修改等操作;而動態調度是指在系統運行過程中的調度,主要是針對某些負載過高、過低的容器進行scaling out、scaling in的調度,實現資源的合理分配、整合。

(2)路由控制子系統。

路由控制子系統在PaaS云平臺中對所有進來的請求進行路由,該系統分為兩層:第1層是從外部域名到內部臨時域名的路由,第2層是從內部臨時域名到容器的路由[7]。提供內部臨時域名是為了方便應用開發者在提交應用之后再次檢查確認,路由控制子系統還提供負載均衡、健康檢查、會話粘滯等高級功能。

(3)通用容器子系統。

通用容器可抽象出兩層,分別為適配層和容器層。適配層一方面可以作為駐留結點采集主機負載等信息,另一方面可以適配底層的容器。容器層則是在Docker 應用程序編程接口(API)的基礎上封裝出不同的Web容器,比如Docker-Jetty、Docker-Tomcat等。同時還引入了鏡像服務器這個集中式鏡像管理模塊。

(4)平臺支撐子系統。

平臺支撐子系統是平臺中的基礎模塊,提供基礎能力的支持,比如:API 服務器將系統的能力統一抽象出restful的HTTP接口,Memcached提供不同容器之間的session共享,Cache提供高性能的分布式對象緩存服務,Mysql提供原生的關系型數據庫,Freedisk提供小文件存儲的服務。

4 基于Docker的PaaS云平臺實現

本系統分為資源調度子系統、路由控制子系統、通用容器、平臺支撐子系統4個子系統。

4.1 資源調度子系統的實現

資源調度子系統是整個系統的核心,當PaaS應用請求通過API 服務器到達系統內部時,是由資源調度子系統決定數據流的走向。

對于調度子系統,我們在實現時又細分為初次調度和動態調度[8]。

初次調度是指請求第1次到來時的調度,調度子系統在收到申請部署應用之后,通過該次調度決定承載該應用的多個容器分別落在哪幾臺物理服務器上。

而動態調度是指在系統運行過程中,通過對應用狀態和容器狀態的監測控制,對應用動態地進行擴容、縮容等。

資源調度子系統主要包括的模塊如下所述。

(1)初次資源調度器:實現所有初次資源操作請求的中轉和協調,實現方式分為兩步。第1步先取出所有的物理服務器,針對不同的請求策略使用不同的過濾器來過濾物理服務器,得到可用的服務器列表,保證主機的可用性。第2步是引入權重和打分概念,初次資源調度器通過不同的權重計算每個主機的得分,然后按照主機的得分從高到低排序,并把應用部署多個副本(默認是2個)到得分高的主機上。

(2)動態資源調度器:實現動態調度,動態地增加、減少應用后端容器的數量。動態資源調度器獲取到主機和Docker容器的負載信息后,按如下策略完成應用副本擴充:根據相應的調度策略選擇負載最低的主機,在該主機上部署此應用的副本,同時向路由子系統發送請求,請求修改路由的指向,使得新加入的應用副本可接收請求,從而實現負載均衡。當集群中所有主機都接近于高負載狀態時,將停止應用副本的擴充,并向管理員發出告警郵件。同理,若發現某應用的所有副本的平均訪問量過低,則按一定策略進行應用副本的收縮,此外,在副本擴充和收縮的過程中,添加定期碎片整理,在保證同一應用的多個副本分布在不同主機的前提下,盡量將分散的應用匯集到部分主機上。

(3)節點代理:一方面作為駐留進程運行在每個計算節點上,周期性地向初次資源調度器上報心跳數據,心跳數據包含CPU利用率、內存使用率和硬盤剩余空間等信息;另一方面適配底層的Docker容器,并獲取其上每個容器的負載數據,包括CPU占用率、內存使用率、硬盤讀寫狀態等。

4.2 路由控制子系統的實現

路由控制子系統維護了整個系統的路由信息,包括外部域名到內部臨時域名和內部臨時域名到容器(ip+端口)的映射,在底層通過對Nginx反向代理服務器的控制來實現Web請求的分發和比例控制。

路由控制子系統包括如下所述的主要模塊。

(1)APP路由器:整個PaaS云平臺路由的核心控制組件,該組件負責維護1份包含所有應用路由策略的路由表,并根據特定的任務調度算法控制Nginx以完成對應用訪問請求的路由,實現多個應用副本間的負載均衡、健康檢查、會話粘滯等功能。該模塊在接收到域名增加或刪除操作的時候,先進行合法性判斷,確定合法之后再判斷是否需要更新路由表,如果需要則通知Ngnix控制器進行路由表的更新操作。

(2)Ngnix控制器:跟Nginx同機部署。在收到APP路由器的更新路由信息的通知后,從數據庫中加載最新的路由信息,并通過Java的Velocity技術生成對應的配置文件,替換當前Nginx的配置文件并重啟Nginx,從而使得路由信息及時生效。

(3)Tengine:在Nginx的基礎上,針對大訪問量網站的需求,添加了高級功能和特性,比如一致性hash,會話保持,健康檢查,根據服務器狀態自動上線、下線等。

4.3 通用容器的實現

基于對Docker的封裝,提供了多種Web容器,比如Java的容器、PHP的容器等。另外,為了方便平臺管理者快速發布、刪除容器,還創新性地引入鏡像服務器這個集中式鏡像管理模塊。

4.4 平臺支撐子系統的實現

該平臺還包括其他一些支撐組件,具體如下所述。

(1)API服務器:整個系統對外提供的接口,使用Spring框架實現,把系統的能力通過Restful的HTTP接口暴露出來,方便系統管理員調用。

(2)Memcached:整個PaaS平臺容器的內存共享池,通過在容器內部把session信息重定向到該共享內存池中,實現會話保持[9]。

(3)Nginx-Log:分析Nginx的日志信息,采集每個應用訪問量等信息。

(4)基礎能力:比如Mysql數據庫、定時任務等一些公用的服務。

5 結束語

針對現有應用服務部署存在的問題,以及現有PaaS云平臺兼容性和擴展性的問題,我們提出了一種基于Docker的數據中心PaaS云平臺實現方法。

未來可以使用容器逐步替換數據中心云平臺中所有基礎模塊,如監測控制模塊、負載均衡模塊、服務管理模塊、日志收集模塊、消息中心管理模塊等,使數據中心云平臺計算、存儲進一步分離。

參考文獻

[1] 吳朱華. 云計算核心技術剖析[M]. 北京:人民郵電出版社, 2011

[2] 卜文軍, 鄒朝斌, 于佳琳. 熱點云計算平臺推薦[J]. 硅谷,2011, 10(5):10-10. DOI: 10.3969/j.issn.1671-7597.2011.05.010

[3] 徐鵬, 陳思, 蘇森. 互聯網應用PaaS平臺體系結構[J]. 北京郵電大學學報, 2012, 35(1):120-124. DOI: 10.3969/j.issn.1007-5321.2012.01.028

[4] 李露. GAE的技術發展及應用[J]. 科技創業月刊, 2012, 26(8):192-193. DOI: 10.3969/j.issn.1672-2272.2012.08.088

[5] 叢磊. 新浪云計算SAE的技術演變[J]. 程序員, 2014, 15(9):90-95

[6] NIVODHINI M K, KOUSALYA K, MALLIGA S. Algorithms to Improve Scheduling Techniques in IaaS Cloud[C]// ICICES 2013, USA:IEEE, 2013:246-250. DOI: 10.1109/ICICES.2013.6508188

[7] 高允翔, 湯泳, 肖偉. 運營商私有云的DaaS構建方案初探[J]. 郵電設計技術, 2012, 55(10):20-22

[8] VAQUERO L M, RODERO-MERINO L, BUYYA R. Dynamically Scaling Application in the Cloud[J]. ACM SIGCOMM Computer Communication Review, 2011, 41(1):45-52. DOI: 10.1145/1925861.1925869

[9] PETROVIC J. Using Memcached for Data Distribution in Industrial Environment[C]// ICONS 08, USA:IEEE, 2008:368-372. DOI:10.1109/ICONS.2008.51

主站蜘蛛池模板: 午夜色综合| 成人综合网址| 99在线观看精品视频| 在线免费亚洲无码视频| 国产一级视频久久| 国产在线精品网址你懂的| 九九九精品成人免费视频7| a在线亚洲男人的天堂试看| 国产麻豆91网在线看| 91青青视频| 在线观看91香蕉国产免费| 欧美在线伊人| 亚洲狼网站狼狼鲁亚洲下载| 亚洲人成网线在线播放va| 国产精品白浆在线播放| 在线观看国产网址你懂的| 亚洲美女久久| 丝袜美女被出水视频一区| 国产一区二区三区精品久久呦| 不卡国产视频第一页| 黄色网在线免费观看| 99热国产这里只有精品无卡顿"| 噜噜噜久久| 狠狠综合久久久久综| 久久香蕉欧美精品| 伊人AV天堂| 成人在线观看一区| 国产精品私拍在线爆乳| 99久久亚洲精品影院| 成人亚洲国产| 免费精品一区二区h| 国产麻豆精品在线观看| 亚洲免费三区| 精品综合久久久久久97超人| 免费一极毛片| 91久久偷偷做嫩草影院电| 成年女人a毛片免费视频| 精品国产一区91在线| 97精品伊人久久大香线蕉| 97精品久久久大香线焦| 视频一本大道香蕉久在线播放 | 国内99精品激情视频精品| 久久国产乱子| 美女一级免费毛片| 国产精品页| 青青国产成人免费精品视频| 91小视频版在线观看www| 精品久久蜜桃| 国产成人在线无码免费视频| 伊伊人成亚洲综合人网7777| 欧美国产在线精品17p| 久久免费视频播放| 欧美一级高清片欧美国产欧美| 国产精品深爱在线| 老熟妇喷水一区二区三区| 欧美国产精品拍自| 伊人精品成人久久综合| 91视频精品| 播五月综合| 中文字幕在线看| 国产精品免费p区| 亚洲成人黄色在线观看| 亚洲成aⅴ人在线观看| 在线网站18禁| 精品综合久久久久久97超人| 精品国产一二三区| 丰满人妻中出白浆| 免费无码AV片在线观看中文| 一级毛片免费播放视频| 天天躁狠狠躁| 国产亚洲欧美另类一区二区| 99热这里只有免费国产精品| a级免费视频| 国产制服丝袜无码视频| 91在线播放免费不卡无毒| 丰满人妻被猛烈进入无码| 视频二区亚洲精品| 国产黑丝一区| 日韩小视频在线播放| 国产精品欧美在线观看| 精品色综合| 在线观看亚洲国产|