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

基于Docker的計(jì)算機(jī)應(yīng)用快速部署系統(tǒng)的設(shè)計(jì)

2018-01-29 02:03:20蔣少華陳德健蔡裕源唐麗蓉張燦源
關(guān)鍵詞:系統(tǒng)

蔣少華,陳德健,蔡裕源,唐麗蓉,夏 楠,張燦源

(韶關(guān)學(xué)院信息科學(xué)與工程學(xué)院,廣東韶關(guān)512005)

隨著大數(shù)據(jù)、云計(jì)算的興起,人們對(duì)網(wǎng)絡(luò)的依賴越來(lái)越強(qiáng),巨大的網(wǎng)絡(luò)業(yè)務(wù)隨之卷土而來(lái),這既是機(jī)遇也是挑戰(zhàn),快速拓展互聯(lián)網(wǎng)業(yè)務(wù)成為很多公司的核心戰(zhàn)略.若業(yè)務(wù)容量超過(guò)預(yù)期,需要在一個(gè)新的操作系統(tǒng)再重新部署一次軟件環(huán)境,傳統(tǒng)業(yè)務(wù)部署的流程總是需要經(jīng)過(guò)開(kāi)發(fā)人員部署軟件環(huán)境→測(cè)試運(yùn)行→排錯(cuò)→再測(cè)試運(yùn)行→再排錯(cuò)→業(yè)務(wù)上線,整個(gè)過(guò)程消耗至少3天,耗時(shí)耗力,不利于公司的良好發(fā)展.

Docker是一個(gè)近幾年興起的,開(kāi)源的應(yīng)用容器引擎,它重新定義了程序的開(kāi)發(fā)、測(cè)試、交付以及程序的部署過(guò)程,開(kāi)發(fā)人員可以打包自己的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器上,也可以實(shí)現(xiàn)虛擬化[1].每個(gè)運(yùn)行的容器與容器之間,是相互隔離的,沒(méi)有任何接口,完全使用沙箱機(jī)制,類似i-Phone的各個(gè)應(yīng)用之間的關(guān)系[2].性能開(kāi)銷接近于零,可以很容易地在機(jī)器和數(shù)據(jù)中心中運(yùn)行.Docker還有不依賴任何語(yǔ)言、框架或包裝系統(tǒng)的優(yōu)點(diǎn)[3].

Docker引擎創(chuàng)建的容器進(jìn)程伸縮性強(qiáng),用戶可以方便、快捷增刪容器,數(shù)秒內(nèi)就可以完成操作.用戶通過(guò)對(duì)Docker容器的優(yōu)化配置,大大地減少了資源的浪費(fèi),降低資源成本,提高數(shù)據(jù)中心的利用率,使服務(wù)器資源得到最有效的利用[4].現(xiàn)今市場(chǎng)上己有各種比較成熟的PaaS(Platform-as-a-Service)平臺(tái),例如:國(guó)外谷歌的Google App Engine,微軟的Windows Azure Platform,國(guó)內(nèi)百度的百度應(yīng)用引擎Baidu App Enginee(BAE),阿里的阿里云Aliyun Cloud Enginee(ACE)等.

針對(duì)傳統(tǒng)業(yè)務(wù)部署出現(xiàn)的軟件交付困難,產(chǎn)品上線困難等問(wèn)題,設(shè)計(jì)了基于Docker的計(jì)算機(jī)應(yīng)用PaaS服務(wù)模式平臺(tái),可以有效實(shí)現(xiàn)工程快速構(gòu)建、環(huán)境迅速部署、平臺(tái)便捷管理等功能.

1 系統(tǒng)設(shè)計(jì)功能要求

Docker技術(shù)快速部署系統(tǒng)需要完成的模塊與主要功能為:

(1)服務(wù)器虛擬化:利用kvm對(duì)服務(wù)器進(jìn)行虛擬化,可以極大地提高服務(wù)器的利用效率,虛擬機(jī)之間隔離性比較好,就好像每臺(tái)獨(dú)立的物理機(jī),相互之間不會(huì)有影響.

(2)Docker容器集群:通過(guò)部署一個(gè)Docker容器集群,達(dá)到業(yè)務(wù)上的負(fù)載均衡,有效避免單點(diǎn)失效的災(zāi)難,提高了系統(tǒng)的可靠性和安全性.

(3)Docker儲(chǔ)存驅(qū)動(dòng)更換:DockerEngine的存儲(chǔ)驅(qū)動(dòng)有l(wèi)oop-lvm和direct-lvm兩種配置模式,其中l(wèi)oop-lvm是默認(rèn)的模式,由于官方明確不推薦使用該模式用于生產(chǎn)環(huán)境,在生產(chǎn)環(huán)境下應(yīng)該使用direct-lvm驅(qū)動(dòng)配置模式.

(4)Ceph集群:Ceph是一個(gè)強(qiáng)大穩(wěn)定的分布式文件存儲(chǔ)系統(tǒng),可以通過(guò)部署分布式文件系統(tǒng),給Docker提供儲(chǔ)存塊RBD,實(shí)現(xiàn)Docker的rootfs也跑在網(wǎng)絡(luò)存儲(chǔ)之上,打造一個(gè)無(wú)本地磁盤的容器服務(wù)系統(tǒng).

(5)本地私有鏡像庫(kù):常用的鏡像可以自己寫Dockerfile自動(dòng)生成,并且儲(chǔ)存在本地的鏡像庫(kù),當(dāng)需要的時(shí)候就可以直接拿來(lái)用,無(wú)需占用外網(wǎng)資源,而且Docker hup官網(wǎng)服務(wù)器在國(guó)外,進(jìn)行鏡像拉取速度很慢,本地鏡像庫(kù)可以實(shí)現(xiàn)鏡像資源自給自足,節(jié)省大量的時(shí)間和網(wǎng)絡(luò)資源.

(6)gitlab版本控制器:基于Docker的計(jì)算機(jī)應(yīng)用快速部署平臺(tái)作為一個(gè)PaaS服務(wù)模式的平臺(tái),需要給開(kāi)發(fā)者提供一個(gè)本地的代碼托管平臺(tái),提高開(kāi)發(fā)團(tuán)隊(duì)的協(xié)同開(kāi)發(fā)效率,用戶在開(kāi)發(fā)好項(xiàng)目的同時(shí)可以立即利用快速部署平臺(tái)測(cè)試,同時(shí)開(kāi)發(fā)者也可以在gitlab上進(jìn)行自動(dòng)化構(gòu)建.

(7)shipyard容器集中管理平臺(tái):在shipyard平臺(tái)上,用戶可以比較直觀地看到容器的情況,而且可以直接在瀏覽器頁(yè)面上對(duì)容器進(jìn)行增刪查改的工作,通過(guò)web頁(yè)面了解和管理業(yè)務(wù),對(duì)于技術(shù)人員或者非技術(shù)人員都方便操作.

2 系統(tǒng)方案的設(shè)計(jì)

系統(tǒng)方案設(shè)計(jì)包括集群設(shè)計(jì)、集群管理、業(yè)務(wù)管理3部分[5].系統(tǒng)利用Docker技術(shù)將應(yīng)用標(biāo)準(zhǔn)化,實(shí)現(xiàn)資源的最大利用,節(jié)省應(yīng)用部署時(shí)間.

Docker集群主要采用層次結(jié)構(gòu)模型,整套結(jié)構(gòu)設(shè)計(jì)見(jiàn)圖1.首先,需搭建部署開(kāi)發(fā)環(huán)境:為了節(jié)省資源,提高開(kāi)發(fā)效率,采用最小化Linux系統(tǒng)安裝(即沒(méi)有圖形界面的純命令行系統(tǒng));其次,在這些環(huán)境下利用kvm虛擬化技術(shù),對(duì)系統(tǒng)、網(wǎng)絡(luò)進(jìn)行虛擬化;然后進(jìn)行Docker集群的設(shè)計(jì),利用ansible自動(dòng)化運(yùn)維工具,對(duì)各個(gè)虛擬子系統(tǒng)進(jìn)行自動(dòng)化管理,再通過(guò)安裝Docker服務(wù),在Docker上構(gòu)建registry、gitlab等服務(wù)的鏡像和容器,并且打通Docker hub,方便用戶對(duì)Docker服務(wù)的使用;最后利用shipyard技術(shù)對(duì)各個(gè)節(jié)點(diǎn)以及其容器和鏡像進(jìn)行web界面管理,采用強(qiáng)大的rethinkdb數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)進(jìn)行相關(guān)管理[6].

采用層次結(jié)構(gòu)有兩個(gè)特點(diǎn):①業(yè)務(wù)隔離:業(yè)務(wù)互相隔離,層次清晰;②故障定位快速:當(dāng)發(fā)生故障時(shí),可以根據(jù)故障原因快速定位故障點(diǎn).

集群管理采用樹(shù)形拓?fù)浣Y(jié)構(gòu)(見(jiàn)圖2),集群管理結(jié)構(gòu)有兩個(gè)優(yōu)點(diǎn):①業(yè)務(wù)易于伸縮.這種結(jié)構(gòu)可以延伸出很多分支和子分支,這些新節(jié)點(diǎn)和新分支都能容易地加入拓?fù)鋬?nèi);②故障隔離較容易.如果某一分支的節(jié)點(diǎn)或線路發(fā)生故障,很容易將故障分支與整個(gè)系統(tǒng)隔離開(kāi)來(lái).

業(yè)務(wù)管理主要采用web頁(yè)面對(duì)容器進(jìn)行管理,所有在系統(tǒng)上的業(yè)務(wù)都可以通過(guò)web頁(yè)面來(lái)進(jìn)行管理,響應(yīng)用戶操作,并且收集日志方便問(wèn)題排查.頁(yè)面采用JS進(jìn)行編寫,框架采用AngularJS.

采用AngularJS有兩個(gè)優(yōu)點(diǎn):①自定義Directive,比jQuery插件還靈活,封裝容易;②模塊化設(shè)計(jì)可以很容易的寫出可復(fù)用的代碼,對(duì)于敏捷開(kāi)發(fā)的項(xiàng)目非常有幫助,業(yè)務(wù)流程見(jiàn)圖3.

圖1 集群設(shè)計(jì)結(jié)構(gòu)

圖2 集群管理結(jié)構(gòu)

圖3 業(yè)務(wù)管理流程圖

3 Docker技術(shù)快速部署系統(tǒng)應(yīng)用測(cè)試

3.1 Docker技術(shù)快速部署系統(tǒng)響應(yīng)測(cè)試

用shell編寫一個(gè)自動(dòng)化測(cè)試腳本進(jìn)行比對(duì)測(cè)試,具體腳本如下:

#!/bin/bash

function handle()

{start=$(date+%s%N)

start_ms=${start:0:16}

#輸入要執(zhí)行的代碼或腳本

dockerstart f999dc296f34>/dev/null end=$(date+%s%N)

end_ms=${end:0:16}

echo"open the containercost time:"

echo"scale=6;($end_ms-$start_ms)/1000000"|bc}

handle.

物理機(jī)、虛擬機(jī)測(cè)試腳本:

#!/bin/sh

#ip為對(duì)應(yīng)的物理機(jī)或虛擬機(jī)的ip

#把腳本放在容器測(cè)試腳本里面運(yùn)行即可

ping-i 0.1-c 1 192.168.1.116>/dev/null

while((1==$?));

do

ping-i 0.1-c 1 192.168.1.116>/dev/null

done.

當(dāng)測(cè)試開(kāi)啟同樣版本的一個(gè)centos純命令行系統(tǒng)的響應(yīng)時(shí)間,結(jié)果如下:Docker容器只用了1.56 s,物理機(jī)上耗時(shí)21.31s,在虛擬機(jī)上耗時(shí)33.74s,從測(cè)試數(shù)據(jù)來(lái)看,Docker的響應(yīng)時(shí)間遠(yuǎn)遠(yuǎn)少于其他虛擬機(jī),測(cè)試結(jié)果見(jiàn)圖4.

當(dāng)測(cè)試開(kāi)啟同樣版本的一個(gè)centos純命令行系統(tǒng)的鏡像大小,結(jié)果如下:Docker容器只有198 MB,而物理機(jī)和虛擬機(jī)的系統(tǒng)鏡像都要4 096 MB,資源占用較大.Docker容器、物理機(jī)和虛擬機(jī)測(cè)試比對(duì)結(jié)果見(jiàn)圖5.

從測(cè)試結(jié)果看,Docker容器有響應(yīng)速度快,占有資源小的優(yōu)點(diǎn);物理機(jī)或虛擬機(jī)系統(tǒng)壞死需要重裝時(shí)也比較麻煩,耗時(shí)較多,而Docker引擎刪除和重建一個(gè)容器僅需一條命令,非常快捷,用在商業(yè)上,可以快速應(yīng)對(duì)業(yè)務(wù)的伸縮,可以省時(shí)省資源.

3.2 基于Docker的web集群測(cè)試

測(cè)試通過(guò)利用負(fù)載均衡技術(shù),將客戶的請(qǐng)求負(fù)載均衡地分配到各個(gè)不同的web節(jié)點(diǎn)中,從而大大提高了web服務(wù)器的可靠性和安全性,使其在高并發(fā)的訪問(wèn)下可以持續(xù)地提供服務(wù),避免宕機(jī).在本地web服務(wù)器和Internet之間架設(shè)反向代理服務(wù)器,可以阻止用戶請(qǐng)求對(duì)web服務(wù)器的直接訪問(wèn),而且它會(huì)自動(dòng)承擔(dān)對(duì)原始web服務(wù)器的靜態(tài)頁(yè)面請(qǐng)求,將服務(wù)請(qǐng)求按照預(yù)先配置的負(fù)載均衡策略分配給不同的Docker容器,以防止服務(wù)器過(guò)載,保護(hù)業(yè)務(wù)的安全性和穩(wěn)定性.web集群服務(wù)器通過(guò)容器的快速響應(yīng)部署,可以給業(yè)務(wù)的彈性伸縮帶來(lái)了極大的便利.web集群框架圖見(jiàn)圖6.

圖4 Docker容器、物理機(jī)、虛擬機(jī)的響應(yīng)速度測(cè)試結(jié)果

圖5 Docker容器、物理機(jī)、虛擬機(jī)對(duì)比

圖6 web集群框架

測(cè)試方案模擬中小型公司的網(wǎng)站業(yè)務(wù)進(jìn)行,在Docker集群中部署相同業(yè)務(wù)的網(wǎng)站(為了驗(yàn)證負(fù)載均衡的效果,設(shè)計(jì)中每個(gè)網(wǎng)站的內(nèi)容會(huì)不一樣),進(jìn)行均衡負(fù)載.首先利用Dockerfile把需要的網(wǎng)站鏡像快速構(gòu)建好,鏡像基于Ubuntu14.04,網(wǎng)站中部署好Nginx反向代理服務(wù)器,并且做好負(fù)載均配置.在不同的Docker節(jié)點(diǎn)中部署相同配置的網(wǎng)站,在宿主機(jī)上部署Nginx反向代理服務(wù)器,設(shè)置ip域名映射,采用平均策略的負(fù)載均衡,把Internet對(duì)宿主機(jī)web請(qǐng)求的訪問(wèn)量以輪詢的方式分配給web集群中所有服務(wù)器,使得所有服務(wù)節(jié)點(diǎn)同時(shí)承擔(dān)外界對(duì)服務(wù)器的訪問(wèn),分解訪問(wèn)壓力.訪問(wèn)用戶在自己的客戶端設(shè)置web主機(jī)的域名解析,即可在瀏覽器上輸入域名訪問(wèn)了.

實(shí)驗(yàn)測(cè)試結(jié)果見(jiàn)圖7.當(dāng)訪問(wèn)主服務(wù)器的時(shí)候,web請(qǐng)求會(huì)將訪問(wèn)壓力以輪詢的方式平均分配給每個(gè)服務(wù)節(jié)點(diǎn),保證了公司業(yè)務(wù)的可靠性和穩(wěn)定性.通過(guò)使用Docker容器技術(shù),在設(shè)計(jì)的快速應(yīng)用部署系統(tǒng)下,該web集群應(yīng)用可以進(jìn)行快速的部署和拓展,符合當(dāng)下很多公司應(yīng)對(duì)互聯(lián)網(wǎng)業(yè)務(wù)快速變化的需要,具有良好的應(yīng)用前景.

圖7 web集群測(cè)試效果

4 結(jié)語(yǔ)

系統(tǒng)利用Docker技術(shù)可以實(shí)現(xiàn)快速部署所需的應(yīng)用系統(tǒng),以最小的時(shí)間代價(jià)和成本代價(jià)快速完成繁瑣的環(huán)境部署工作,大大縮短了開(kāi)發(fā)周期和部署時(shí)間,可以實(shí)現(xiàn)用最低的成本創(chuàng)造最大的效益,解決了傳統(tǒng)互聯(lián)網(wǎng)業(yè)務(wù)拓展時(shí)間普遍較長(zhǎng)的問(wèn)題.系統(tǒng)簡(jiǎn)單、快速,滿足IT開(kāi)發(fā)公司、企業(yè)、學(xué)校實(shí)驗(yàn)室快速構(gòu)建開(kāi)放、測(cè)試和產(chǎn)品環(huán)境等各種需求.

[1]張忠琳,黃炳良.基于 openstack 云平臺(tái)的 docker應(yīng)用[J].軟件,2014,35(11):73-76.

[2]張建,謝天鈞.基于Docker的平臺(tái)即服務(wù)架構(gòu)研究[J].信息技術(shù)與信息化,2014(10):131-134.

[3]劉思堯,李強(qiáng),李斌.基于 Docker技術(shù)的容器隔離性研究[J].軟件,2015,36(4):110-113.

[4]吳義鵬.基于容器虛擬化技術(shù)研究[J].軟件,2010,31(11):28-30.

[5]劉琳羽,南凱.一種基于Docker的開(kāi)發(fā)者服務(wù)平臺(tái)設(shè)計(jì)[J].科研信息化技術(shù)與應(yīng)用,2015,6(5):65-72.

[6]鄭玲,江萌.基于Docker彈性調(diào)度架構(gòu)的研究[J].電腦編程技巧與維護(hù),2016(23):15-17.

猜你喜歡
系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
基于PowerPC+FPGA顯示系統(tǒng)
基于UG的發(fā)射箱自動(dòng)化虛擬裝配系統(tǒng)開(kāi)發(fā)
半沸制皂系統(tǒng)(下)
FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統(tǒng) 德行天下
PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
主站蜘蛛池模板: 在线国产资源| 日韩区欧美国产区在线观看| 亚洲国产系列| 一区二区日韩国产精久久| 亚洲天堂日韩av电影| 日韩高清无码免费| 久久亚洲欧美综合| 无码不卡的中文字幕视频| 午夜国产理论| a毛片在线播放| 精品国产美女福到在线不卡f| 亚洲人成电影在线播放| 欧美第一页在线| 欧美精品在线免费| 免费人成视网站在线不卡| 青青草欧美| 九九久久99精品| 久久鸭综合久久国产| 尤物成AV人片在线观看| 丰满人妻中出白浆| 九九热精品视频在线| 成人综合久久综合| 国产美女精品在线| 免费看美女自慰的网站| 国产大片喷水在线在线视频| 欧美高清国产| 九九精品在线观看| 有专无码视频| 欧美第九页| 美女视频黄频a免费高清不卡| 欧美成人午夜视频| 日本成人福利视频| 2021国产v亚洲v天堂无码| 波多野结衣一区二区三区四区 | 91丝袜美腿高跟国产极品老师| 欧美日韩国产在线观看一区二区三区| 福利在线一区| 日韩在线成年视频人网站观看| 久久精品91麻豆| 中文字幕首页系列人妻| 日韩 欧美 小说 综合网 另类| 91青青视频| 国产精品男人的天堂| 亚洲精品视频免费看| 女人18毛片水真多国产| 国产乱人视频免费观看| 在线观看免费国产| 综合色亚洲| 亚洲精品天堂自在久久77| 无码丝袜人妻| 国产精品网址你懂的| 亚洲av成人无码网站在线观看| 色一情一乱一伦一区二区三区小说| 日韩精品成人在线| 69av免费视频| 99人妻碰碰碰久久久久禁片| 制服丝袜一区二区三区在线| 中文无码毛片又爽又刺激| 麻豆精品在线播放| 久久精品国产在热久久2019| 亚洲有无码中文网| 国产免费人成视频网| 久久精品一品道久久精品| 亚洲h视频在线| 538国产视频| 日韩天堂视频| 九九九精品成人免费视频7| 高清无码不卡视频| 老司机精品99在线播放| 国产成人区在线观看视频| 成人欧美日韩| 国产精品99久久久久久董美香| A级毛片高清免费视频就| 国产在线啪| 青青久久91| 亚洲第一成网站| 国产福利在线免费观看| 免费久久一级欧美特大黄| 国产精品亚洲αv天堂无码| 久久国产精品麻豆系列| 91在线无码精品秘九色APP| 毛片基地视频|