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

云應(yīng)用管理平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

2017-06-10 17:36:16溫云龍
移動(dòng)通信 2017年8期

【摘 要】為了有效應(yīng)對(duì)企業(yè)內(nèi)部使用獨(dú)占式物理服務(wù)器部署Web應(yīng)用而造成硬件資源閑置和浪費(fèi)的問題,提出了企業(yè)私有云的解決方案實(shí)現(xiàn)云應(yīng)用管理平臺(tái)。該平臺(tái)研究虛擬化技術(shù)管理和調(diào)度底層虛擬化資源,集成了Web應(yīng)用部署調(diào)度機(jī)制實(shí)現(xiàn)自動(dòng)部署,并提出了彈性負(fù)載均衡完成多租戶場(chǎng)景下對(duì)虛擬資源的動(dòng)態(tài)共享。通過對(duì)比試驗(yàn),平臺(tái)虛擬資源可有效替代物理資源,克服了硬件的消耗浪費(fèi)并節(jié)省了成本支出。

【關(guān)鍵詞】云應(yīng)用管理平臺(tái) 虛擬化 彈性負(fù)載均衡 PaaS IaaS

doi:10.3969/j.issn.1006-1010.2017.08.014 中圖分類號(hào):TP302 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-1010(2017)08-0069-05

引用格式:溫云龍. 云應(yīng)用管理平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 移動(dòng)通信, 2017,41(8): 69-73.

Design and Implementation of Cloud Application Management Platform

WEN Yunlong

[Abstract] In order to effectively cope with the idle and wasted hardware resource resulting from deploying Web applications due to exclusively occupying physical servers in enterprises, a solution based on enterprise private cloud to realize cloud application management platform was proposed in this paper, on which the Virtualization Technology management and the scheduling of lower-layer virtualized resources were investigated. Deployment scheduling mechanism of web application was integrated, to realize the automatic deployment. The elastic load balance was proposed to achieve the dynamic sharing of virtualized resources in the scenario of multi-tenant. Comparative experiments demonstrate the platform virtualized resource not only effectively replaces the physical resource, but also reduces the hardware consumption with the saved expenditure.

[Key words]cloud application management platform virtualization elastic load balance PaaS IaaS

1 引言

Web應(yīng)用部署常獨(dú)占物理服務(wù)器資源,配置硬件資源和應(yīng)用運(yùn)行環(huán)境耗時(shí)費(fèi)力;對(duì)于高并發(fā)的應(yīng)用系統(tǒng),配置昂貴的負(fù)載均衡設(shè)備存在一定的資源浪費(fèi)情況。常見的企業(yè)解決方案采用虛擬機(jī)和軟件負(fù)載均衡來解決物理資源問題,使用SVN和Git代碼倉庫實(shí)現(xiàn)代碼管理,集成Jenkins實(shí)現(xiàn)代碼自動(dòng)編譯構(gòu)建[1]等。在云計(jì)算PaaS(Platform as a Service,平臺(tái)即服務(wù))層面,也有開源平臺(tái)CloudFoundry[2]、OpenShift[3]和Docker[4]容器架構(gòu)解決資源共享的問題。本文采用J2EE規(guī)范開發(fā)的云應(yīng)用管理平臺(tái)(簡稱云平臺(tái)),借鑒主流開源PaaS平臺(tái)的優(yōu)點(diǎn),結(jié)合代碼倉庫和持續(xù)構(gòu)建等系統(tǒng),設(shè)計(jì)并實(shí)現(xiàn)一種支持大多數(shù)Web框架的開發(fā)和部署,以適應(yīng)高并發(fā)條件下的動(dòng)態(tài)負(fù)載均衡,便于二次開發(fā)的全生命周期管理平臺(tái)。

2 云平臺(tái)總體架構(gòu)

云平臺(tái)屬于PaaS范疇,總體架構(gòu)包含IaaS(Infras-tructure as a Service,基礎(chǔ)設(shè)施即服務(wù))層、接口驅(qū)動(dòng)層、應(yīng)用管理和調(diào)度系統(tǒng)、服務(wù)層以及鏡像層,并結(jié)合軟件開發(fā)中主流的源代碼管理工具、缺陷管理工具等開源技術(shù),形成比較完整的企業(yè)級(jí)云平臺(tái)解決方案。

云平臺(tái)的設(shè)計(jì)需要考慮如下:

(1)接口層通過開發(fā)多個(gè)主流虛擬化平臺(tái)驅(qū)動(dòng),提供多種虛擬化平臺(tái)的對(duì)接,包括基于KVM(Kernel-based Virtual Machine,基于內(nèi)核的虛擬機(jī))的Openstack、VMware、Microsoft的Hyper-V等。

(2)平臺(tái)組件服務(wù)化。平臺(tái)本身使用到的組件和模塊(如數(shù)據(jù)庫連接、日志管理、流量統(tǒng)計(jì)和計(jì)費(fèi)、消息隊(duì)列、服務(wù)注冊(cè)中心、統(tǒng)一身份認(rèn)證等)都實(shí)現(xiàn)服務(wù)化,使得接口規(guī)范統(tǒng)一,而且開放對(duì)接第三方系統(tǒng)。

(3)兼容企業(yè)原有系統(tǒng)。本文的云平臺(tái)系統(tǒng)同時(shí)實(shí)現(xiàn)一種鏡像服務(wù),便于原有系統(tǒng)遷移到云平臺(tái),享用平臺(tái)的動(dòng)態(tài)負(fù)載均衡等特性。

3 核心組件設(shè)計(jì)和實(shí)現(xiàn)

云平臺(tái)的核心功能設(shè)計(jì)和實(shí)現(xiàn)主要包括三部分:云控制器、同步控制器和彈性負(fù)載均衡器。系統(tǒng)中多個(gè)核心組件之間相互配合,共同完成底層資源調(diào)度、集群感知、應(yīng)用倉庫管理和應(yīng)用托管的功能。

3.1 云控制器

云控制器的主要功能是充當(dāng)平臺(tái)的大腦,負(fù)責(zé)維護(hù)系統(tǒng)拓?fù)湟酝瓿筛鱾€(gè)組件部署的控制工作。同時(shí)負(fù)責(zé)云平臺(tái)和IaaS層面能力的對(duì)接,創(chuàng)建半持久化的虛擬機(jī),形成平臺(tái)整個(gè)生態(tài)的基礎(chǔ)控制系統(tǒng)。

云控制器同時(shí)負(fù)責(zé)創(chuàng)建應(yīng)用容器的實(shí)例,需要準(zhǔn)備含有配置信息的系統(tǒng)鏡像。基于Openstack的實(shí)現(xiàn)架構(gòu)中[5],鏡像啟動(dòng)后的部署通過使用Puppet自動(dòng)化部署工具來實(shí)現(xiàn)[6]。當(dāng)云控制器需要在IaaS中生成一個(gè)應(yīng)用服務(wù)器實(shí)例時(shí),一個(gè)基于基礎(chǔ)系統(tǒng)的鏡像實(shí)例就會(huì)被創(chuàng)建,實(shí)例啟動(dòng)后通過自動(dòng)運(yùn)行腳本,運(yùn)行Puppet實(shí)現(xiàn)配置文件的下載完成部署。處理流程具體如下:

(1)云控制器需要?jiǎng)?chuàng)建一個(gè)應(yīng)用服務(wù)實(shí)例,首先發(fā)送一個(gè)拓?fù)湮募紼LB(Elastic Load Balance,彈性負(fù)載均衡)中。

(2)ELB查詢需要?jiǎng)?chuàng)建的服務(wù),通知云控制器創(chuàng)建相應(yīng)數(shù)量的實(shí)例。

(3)云控制器通過需要組件服務(wù)所在的集群域,向集群域發(fā)起請(qǐng)求。

(4)實(shí)例創(chuàng)建后,通過Puppet發(fā)送應(yīng)用或服務(wù)程序的安裝文件和配置到實(shí)例中。

(5)同步控制器發(fā)送Web應(yīng)用的配置信息到新創(chuàng)建的實(shí)例,運(yùn)行自動(dòng)配置腳本進(jìn)行配置和重啟。

(6)應(yīng)用服務(wù)器實(shí)例借助Axis2 Clustering集群機(jī)制[7],實(shí)例服務(wù)器容器完成集群化。

3.2 同步控制器

同步控制中的核心組件是組件分配協(xié)調(diào)器,實(shí)現(xiàn)功能如下:

(1)監(jiān)聽源碼倉庫變更。開發(fā)者基于源代碼倉庫檢出應(yīng)用程序源代碼,開發(fā)完成后推送到代碼中央倉庫,每次的推送動(dòng)作在代碼倉庫中可以檢測(cè),并通過回調(diào)機(jī)制[8]觸發(fā)鉤子程序(Hook)。

(2)通過持續(xù)集成工具提供的接口上傳編譯通過的應(yīng)用程序包。回調(diào)機(jī)制的鉤子程序可以觸發(fā)持續(xù)集成工具對(duì)代碼倉庫的代碼進(jìn)行編譯[1,9],生成可發(fā)布的應(yīng)用程序包,如Java Web應(yīng)用程序WAR(Web Archive,Web歸檔文件)包。

(3)分發(fā)組件。持續(xù)集成工具打包形成程序包后,通過后續(xù)腳本(post-receive)觸發(fā)應(yīng)用程序包分發(fā)到應(yīng)用容器實(shí)例中。

3.3 基于租戶ID的彈性負(fù)載均衡器

彈性負(fù)載均衡器[10]主要負(fù)責(zé)的工作是實(shí)現(xiàn)請(qǐng)求轉(zhuǎn)發(fā)和維護(hù)實(shí)例拓?fù)浣Y(jié)構(gòu),具體如下:

(1)服務(wù)器集群的初始化指定了不同的租戶應(yīng)用分布在不同的子集群中,應(yīng)用在中央代碼倉庫中帶有租戶ID信息,當(dāng)部署到不同的應(yīng)用子集群中時(shí),將租戶ID信息傳遞給負(fù)載均衡系統(tǒng)。當(dāng)用戶訪問應(yīng)用時(shí),負(fù)載均衡根據(jù)提取到的目標(biāo)租戶ID,將請(qǐng)求轉(zhuǎn)發(fā)到特定的服務(wù)器集群中。

(2)為了實(shí)現(xiàn)彈性負(fù)載均衡,ELB維護(hù)所有應(yīng)用系統(tǒng)實(shí)例的一張拓?fù)浣Y(jié)構(gòu)圖。云控制器實(shí)現(xiàn)了應(yīng)用服務(wù)器系統(tǒng)和IaaS的對(duì)接,所使用的應(yīng)用服務(wù)器數(shù)量由底層算法自動(dòng)調(diào)節(jié),在請(qǐng)求數(shù)達(dá)到預(yù)警值之后,自動(dòng)擴(kuò)展實(shí)例并將過高的請(qǐng)求轉(zhuǎn)發(fā)到新創(chuàng)建的應(yīng)用服務(wù)器實(shí)例中。當(dāng)系統(tǒng)的平均請(qǐng)求數(shù)達(dá)到預(yù)警值下限時(shí),ELB能夠通知云控制器在IaaS環(huán)境中銷毀部分實(shí)例,回收資源。

4 成果展示和數(shù)據(jù)對(duì)比

4.1 成果展示

云平臺(tái)系統(tǒng)支持多語言的部署環(huán)境系統(tǒng),借助云平臺(tái)的應(yīng)用生命周期管理的生態(tài)和托管能力,構(gòu)建一個(gè)適合于普通用戶和開發(fā)者共同使用的PaaS領(lǐng)域的軟件系統(tǒng)。通過簡單的幾次點(diǎn)擊,平臺(tái)可以構(gòu)建豐富的“開箱即用”的Web應(yīng)用程序,借助云平臺(tái)的能力,僅需要在Web應(yīng)用進(jìn)行配置,便可以實(shí)現(xiàn)彈性負(fù)載均衡。

圖6和圖7展示的是基于著名開源博客系統(tǒng)WordPress制作的應(yīng)用模板部署示例,服務(wù)器采用兩路E2650 CPU+64 G內(nèi)存的戴爾R720服務(wù)器,單個(gè)應(yīng)用服務(wù)器實(shí)例僅需要雙核VCPU+2 G內(nèi)存+共享1 G帶寬,應(yīng)用的平均部署時(shí)間只需要1分鐘。

在彈性負(fù)載均衡的實(shí)驗(yàn)中,設(shè)置上限門限值為200、下限門限值為30。

系統(tǒng)啟動(dòng)后,在連續(xù)3個(gè)請(qǐng)求周期中請(qǐng)求數(shù)保持高位時(shí)(請(qǐng)求數(shù)直接表現(xiàn)為對(duì)CPU的負(fù)載),系統(tǒng)自動(dòng)擴(kuò)展服務(wù)實(shí)例數(shù)至2,直到請(qǐng)求數(shù)連續(xù)3個(gè)周期保持下限時(shí),實(shí)例數(shù)自動(dòng)收縮為1。應(yīng)用負(fù)載均衡設(shè)置如圖8所示。

4.2 數(shù)據(jù)對(duì)比

負(fù)載均衡采集請(qǐng)求周期設(shè)置為1分鐘,3分鐘能檢測(cè)出系統(tǒng)負(fù)載變化以完成對(duì)系統(tǒng)資源的自動(dòng)創(chuàng)建和回收,而應(yīng)用的部署到上線平均完成時(shí)間在2分鐘左右。在服務(wù)器資源方面,使用虛擬機(jī)代替物理機(jī),單臺(tái)物理機(jī)可以支撐4個(gè)應(yīng)用系統(tǒng)(單個(gè)應(yīng)用平均在線用戶150人)的部署,同時(shí)性能達(dá)到85%以上。考慮1~4個(gè)應(yīng)用部署的服務(wù)器成本,在85%性能的前提下可以節(jié)省最高75%的成本。

相比人工勞動(dòng),響應(yīng)負(fù)載變化只能通過增加和減少服務(wù)器數(shù)量水平擴(kuò)展,響應(yīng)周期往往更長。部門內(nèi)部應(yīng)用負(fù)載檢測(cè)、響應(yīng)、設(shè)備到位、運(yùn)行時(shí)安裝到應(yīng)用上線平均時(shí)間與原來人工相比,效率平均提升15~20倍。

5 結(jié)束語

本文通過研究虛擬化技術(shù)、開源PaaS平臺(tái)設(shè)計(jì)思想、代碼管理和持續(xù)集成的流程管理,為中小企業(yè)提供便捷可行的Web應(yīng)用生命周期管理方案。經(jīng)過開發(fā)和完善,已成功在一家中型金融證券公司試點(diǎn)上線,使用云平臺(tái)構(gòu)建高可用的服務(wù)接口API(Application Programming Interface,應(yīng)用程序編程接口)對(duì)外提供計(jì)費(fèi)服務(wù),對(duì)內(nèi)支撐后臺(tái)開發(fā);同時(shí)采用云平臺(tái)的托管能力,部署代碼管理系統(tǒng)、博客系統(tǒng)、云盤系統(tǒng)等多個(gè)系統(tǒng),自動(dòng)化程度高,可節(jié)省大量運(yùn)維的勞動(dòng)力,有效支撐內(nèi)部研發(fā)和辦公。目前平臺(tái)正在改良和優(yōu)化,下一步將持續(xù)研究采用更輕量級(jí)的Docker容器代替目前IaaS環(huán)境、加強(qiáng)平臺(tái)服務(wù)組件的監(jiān)控形成企業(yè)平臺(tái)閉環(huán)。

參考文獻(xiàn):

[1] 周瑩,歐中紅,李俊. 基于Jenkins的持續(xù)集成自動(dòng)部署研究[J]. 計(jì)算機(jī)與數(shù)字工程, 2016,44(2): 267-270.

[2] CloudFoundry. Cloud Foundry Components[EB/OL]. [2017-03-27]. http://docs.cloudfoundry.org/concepts/architecture/.

[3] 彭鴻杰,邢延,李杰,等. 基于MVC的Web應(yīng)用在Openshift上的實(shí)現(xiàn)[J]. 電腦編程技巧與維護(hù), 2013(16): 61-62.

[4] 高禮,高昕. Docker技術(shù)在軟件開發(fā)過程中的應(yīng)用研究[J]. 軟件, 2016(3): 110-113.

[5] Openstack. OpenStack Virtual Machine Image Guide[EB/OL]. [2017-03-27]. https://docs.openstack.org/image-guide/.

[6] Puppet. Puppet 4.10 reference manual[EB/OL]. [2017-03-27]. https://docs.puppet.com/puppet/latest/.

[7] The Apache Software Foundation. Axis2 Clustering Support[EB/OL]. (2016-10-21). http://axis.apache.org/axis2/java/core/docs/clustering-guide.html.

[8] Jenkins+Git+Maven+Shell+Tomcat持續(xù)集成經(jīng)典教程[EB/OL]. (2015-06-11). https://segmentfault.com/a/1190000002895521.

[9] 高珺. 以持續(xù)集成方式進(jìn)行系統(tǒng)自動(dòng)化部署[J]. 華東師范大學(xué)學(xué)報(bào): 自然科學(xué)版, 2015(S1): 373-377.

[10] 溫云龍. 基于租戶感知的動(dòng)態(tài)負(fù)載均衡方法及系統(tǒng): 中國, 103957246B[P/OL]. 2017-03-01[2017-03-27]. http://www.pss-system.gov.cn/sipopublicsearch/patentsearch/showSearchResult-drillSearchByViewSetting.shtml.

主站蜘蛛池模板: 强奷白丝美女在线观看 | 国禁国产you女视频网站| 中文字幕 91| 伊人色天堂| 女人爽到高潮免费视频大全| 国产区成人精品视频| 国产福利小视频高清在线观看| 玩两个丰满老熟女久久网| 日韩精品免费一线在线观看| 久久综合AV免费观看| 99热这里都是国产精品| 国产Av无码精品色午夜| 欧美综合区自拍亚洲综合绿色 | 人妻无码AⅤ中文字| 黄色网址手机国内免费在线观看| 91欧美亚洲国产五月天| 日韩欧美亚洲国产成人综合| 国产一级毛片在线| 日韩欧美中文亚洲高清在线| 欧美自拍另类欧美综合图区| 露脸一二三区国语对白| 国产成人三级在线观看视频| 欧美日在线观看| 日本免费新一区视频| 欧美激情福利| 日韩中文无码av超清| 亚洲无码高清免费视频亚洲| 日本欧美午夜| 午夜精品久久久久久久99热下载| 免费观看男人免费桶女人视频| 欧美成人午夜影院| 永久天堂网Av| 美女被狂躁www在线观看| 亚洲男人天堂久久| 2048国产精品原创综合在线| AV不卡在线永久免费观看| 亚洲欧美不卡| 免费看a级毛片| 99在线观看国产| 欧美视频二区| av在线无码浏览| 国产精品视屏| 99这里只有精品免费视频| 五月婷婷激情四射| 欧美综合中文字幕久久| 91综合色区亚洲熟妇p| 国产综合精品一区二区| 精品国产一二三区| 米奇精品一区二区三区| 日韩精品一区二区三区中文无码| 亚洲第一视频网| 国产精品久久久久久久久久久久| 一区二区在线视频免费观看| 99久久精品国产自免费| 欧美福利在线观看| 黑人巨大精品欧美一区二区区| 91福利一区二区三区| 国产乱子伦视频在线播放| 999精品色在线观看| 黄色福利在线| 亚洲一区二区黄色| 99ri精品视频在线观看播放| 久久精品aⅴ无码中文字幕| 尤物精品视频一区二区三区| 国产91丝袜在线观看| 日日拍夜夜操| 亚洲国产欧美目韩成人综合| 中文字幕久久亚洲一区| 国产成人精品一区二区三在线观看| 亚洲精品午夜无码电影网| 女人18毛片久久| 啊嗯不日本网站| 亚洲AV无码乱码在线观看裸奔 | 青草视频网站在线观看| 精品丝袜美腿国产一区| 精品一区国产精品| 午夜精品福利影院| 精品亚洲麻豆1区2区3区 | 99九九成人免费视频精品| 亚洲精品在线91| 91精品aⅴ无码中文字字幕蜜桃| 亚洲一区国色天香|