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

基于Docker的計算機應用快速部署系統的設計

2018-01-29 02:03:20蔣少華陳德健蔡裕源唐麗蓉張燦源
韶關學院學報 2017年12期
關鍵詞:系統

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

(韶關學院信息科學與工程學院,廣東韶關512005)

隨著大數據、云計算的興起,人們對網絡的依賴越來越強,巨大的網絡業務隨之卷土而來,這既是機遇也是挑戰,快速拓展互聯網業務成為很多公司的核心戰略.若業務容量超過預期,需要在一個新的操作系統再重新部署一次軟件環境,傳統業務部署的流程總是需要經過開發人員部署軟件環境→測試運行→排錯→再測試運行→再排錯→業務上線,整個過程消耗至少3天,耗時耗力,不利于公司的良好發展.

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

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

針對傳統業務部署出現的軟件交付困難,產品上線困難等問題,設計了基于Docker的計算機應用PaaS服務模式平臺,可以有效實現工程快速構建、環境迅速部署、平臺便捷管理等功能.

1 系統設計功能要求

Docker技術快速部署系統需要完成的模塊與主要功能為:

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

(2)Docker容器集群:通過部署一個Docker容器集群,達到業務上的負載均衡,有效避免單點失效的災難,提高了系統的可靠性和安全性.

(3)Docker儲存驅動更換:DockerEngine的存儲驅動有loop-lvm和direct-lvm兩種配置模式,其中loop-lvm是默認的模式,由于官方明確不推薦使用該模式用于生產環境,在生產環境下應該使用direct-lvm驅動配置模式.

(4)Ceph集群:Ceph是一個強大穩定的分布式文件存儲系統,可以通過部署分布式文件系統,給Docker提供儲存塊RBD,實現Docker的rootfs也跑在網絡存儲之上,打造一個無本地磁盤的容器服務系統.

(5)本地私有鏡像庫:常用的鏡像可以自己寫Dockerfile自動生成,并且儲存在本地的鏡像庫,當需要的時候就可以直接拿來用,無需占用外網資源,而且Docker hup官網服務器在國外,進行鏡像拉取速度很慢,本地鏡像庫可以實現鏡像資源自給自足,節省大量的時間和網絡資源.

(6)gitlab版本控制器:基于Docker的計算機應用快速部署平臺作為一個PaaS服務模式的平臺,需要給開發者提供一個本地的代碼托管平臺,提高開發團隊的協同開發效率,用戶在開發好項目的同時可以立即利用快速部署平臺測試,同時開發者也可以在gitlab上進行自動化構建.

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

2 系統方案的設計

系統方案設計包括集群設計、集群管理、業務管理3部分[5].系統利用Docker技術將應用標準化,實現資源的最大利用,節省應用部署時間.

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

采用層次結構有兩個特點:①業務隔離:業務互相隔離,層次清晰;②故障定位快速:當發生故障時,可以根據故障原因快速定位故障點.

集群管理采用樹形拓撲結構(見圖2),集群管理結構有兩個優點:①業務易于伸縮.這種結構可以延伸出很多分支和子分支,這些新節點和新分支都能容易地加入拓撲內;②故障隔離較容易.如果某一分支的節點或線路發生故障,很容易將故障分支與整個系統隔離開來.

業務管理主要采用web頁面對容器進行管理,所有在系統上的業務都可以通過web頁面來進行管理,響應用戶操作,并且收集日志方便問題排查.頁面采用JS進行編寫,框架采用AngularJS.

采用AngularJS有兩個優點:①自定義Directive,比jQuery插件還靈活,封裝容易;②模塊化設計可以很容易的寫出可復用的代碼,對于敏捷開發的項目非常有幫助,業務流程見圖3.

圖1 集群設計結構

圖2 集群管理結構

圖3 業務管理流程圖

3 Docker技術快速部署系統應用測試

3.1 Docker技術快速部署系統響應測試

用shell編寫一個自動化測試腳本進行比對測試,具體腳本如下:

#!/bin/bash

function handle()

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

start_ms=${start:0:16}

#輸入要執行的代碼或腳本

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.

物理機、虛擬機測試腳本:

#!/bin/sh

#ip為對應的物理機或虛擬機的ip

#把腳本放在容器測試腳本里面運行即可

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.

當測試開啟同樣版本的一個centos純命令行系統的響應時間,結果如下:Docker容器只用了1.56 s,物理機上耗時21.31s,在虛擬機上耗時33.74s,從測試數據來看,Docker的響應時間遠遠少于其他虛擬機,測試結果見圖4.

當測試開啟同樣版本的一個centos純命令行系統的鏡像大小,結果如下:Docker容器只有198 MB,而物理機和虛擬機的系統鏡像都要4 096 MB,資源占用較大.Docker容器、物理機和虛擬機測試比對結果見圖5.

從測試結果看,Docker容器有響應速度快,占有資源小的優點;物理機或虛擬機系統壞死需要重裝時也比較麻煩,耗時較多,而Docker引擎刪除和重建一個容器僅需一條命令,非??旖?,用在商業上,可以快速應對業務的伸縮,可以省時省資源.

3.2 基于Docker的web集群測試

測試通過利用負載均衡技術,將客戶的請求負載均衡地分配到各個不同的web節點中,從而大大提高了web服務器的可靠性和安全性,使其在高并發的訪問下可以持續地提供服務,避免宕機.在本地web服務器和Internet之間架設反向代理服務器,可以阻止用戶請求對web服務器的直接訪問,而且它會自動承擔對原始web服務器的靜態頁面請求,將服務請求按照預先配置的負載均衡策略分配給不同的Docker容器,以防止服務器過載,保護業務的安全性和穩定性.web集群服務器通過容器的快速響應部署,可以給業務的彈性伸縮帶來了極大的便利.web集群框架圖見圖6.

圖4 Docker容器、物理機、虛擬機的響應速度測試結果

圖5 Docker容器、物理機、虛擬機對比

圖6 web集群框架

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

實驗測試結果見圖7.當訪問主服務器的時候,web請求會將訪問壓力以輪詢的方式平均分配給每個服務節點,保證了公司業務的可靠性和穩定性.通過使用Docker容器技術,在設計的快速應用部署系統下,該web集群應用可以進行快速的部署和拓展,符合當下很多公司應對互聯網業務快速變化的需要,具有良好的應用前景.

圖7 web集群測試效果

4 結語

系統利用Docker技術可以實現快速部署所需的應用系統,以最小的時間代價和成本代價快速完成繁瑣的環境部署工作,大大縮短了開發周期和部署時間,可以實現用最低的成本創造最大的效益,解決了傳統互聯網業務拓展時間普遍較長的問題.系統簡單、快速,滿足IT開發公司、企業、學校實驗室快速構建開放、測試和產品環境等各種需求.

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

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

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

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

[5]劉琳羽,南凱.一種基于Docker的開發者服務平臺設計[J].科研信息化技術與應用,2015,6(5):65-72.

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

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 欧美日韩va| 亚洲AV人人澡人人双人| 久久99蜜桃精品久久久久小说| 日韩欧美色综合| 国产三级a| 久久久久久尹人网香蕉| 伊大人香蕉久久网欧美| 婷婷综合在线观看丁香| 国产精品漂亮美女在线观看| 天天摸天天操免费播放小视频| 国产午夜无码专区喷水| 67194亚洲无码| 久久9966精品国产免费| 日本精品影院| 114级毛片免费观看| a毛片在线播放| 凹凸国产分类在线观看| 99久久国产综合精品2020| 日本免费a视频| 3344在线观看无码| 亚洲AV无码乱码在线观看代蜜桃| 久久免费精品琪琪| 亚洲Aⅴ无码专区在线观看q| 欧美精品一区二区三区中文字幕| 亚洲国产成人自拍| 国产中文在线亚洲精品官网| 精品视频一区二区三区在线播| 一本一本大道香蕉久在线播放| 国产亚洲精品在天天在线麻豆 | 无码内射在线| 在线观看热码亚洲av每日更新| 欧美激情视频一区二区三区免费| 天天色天天操综合网| 国产精品香蕉在线| 91小视频在线观看免费版高清| 精品成人一区二区| 国产丝袜一区二区三区视频免下载| 国产日韩丝袜一二三区| 91色在线观看| 国产国拍精品视频免费看| 97久久免费视频| AV网站中文| 国产高清自拍视频| 人妻丰满熟妇AV无码区| 亚洲精品无码抽插日韩| av性天堂网| 国产精品19p| 无码综合天天久久综合网| 亚洲不卡影院| 成人免费网站在线观看| 麻豆精品在线视频| 九色视频一区| 国产亚洲精久久久久久无码AV| 国产色网站| 丝袜亚洲综合| 青青青国产精品国产精品美女| 国产高清无码第一十页在线观看| 日本人妻一区二区三区不卡影院| 依依成人精品无v国产| 久久一日本道色综合久久| 成年网址网站在线观看| 黄色网址手机国内免费在线观看| 精品中文字幕一区在线| 久久中文电影| 无码中字出轨中文人妻中文中| 她的性爱视频| 丁香亚洲综合五月天婷婷| 国产亚洲视频中文字幕视频| 亚洲国产综合精品一区| 亚洲制服丝袜第一页| 91系列在线观看| 国产乱视频网站| 一区二区无码在线视频| 亚洲精品国产综合99久久夜夜嗨| 欧美性猛交xxxx乱大交极品| 伊人无码视屏| 国产成人久视频免费| vvvv98国产成人综合青青| 天堂va亚洲va欧美va国产| 一级毛片无毒不卡直接观看| 久久久波多野结衣av一区二区| 毛片免费视频|