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

Docker技術在氣象云平臺服務中的研究

2020-10-21 12:12:00楊永毅趙芳趙思亮
機械制造與自動化 2020年5期
關鍵詞:服務系統

楊永毅,趙芳,趙思亮

(重慶市氣象信息與技術保障中心,重慶 401147)

0 引言

近年來重慶市氣象局開始進行虛擬資源池建設,截至目前為止,已創建并分配虛擬機300多個,多個氣象業務平臺由物理服務器移植到虛擬機。虛擬資源池的建設,實現了硬件資源的集中式管理、集約化分配,提高了資源的利用率。

當前出現了多種虛擬化技術,包括VMware vSphere、KVM、Docker等。其中VMware vSphere是一個虛擬化平臺,將CPU、存儲和網絡資源等聚合為一個虛擬資源池,并使用統一的軟件,創建和運行虛擬機和虛擬設備[1]。然而隨著虛擬資源池規模的不斷擴大,VMware vSphere性能損耗高,體量占用大,遷移擴展復雜等弊端逐漸凸顯。KVM是一個開源軟件,基于內核的虛擬化技術,實際是嵌入系統的一個虛擬化模塊,虛擬機使用Linux自身的調度器進行管理[2]。KVM與Linux內核集成,運行速度快,但KVM需要CPU中虛擬化功能的支持,只可在具有虛擬化支持的CPU上運行[3],對硬件環境要求較高。而Docker技術將應用程序與基礎架構分離,以管理應用程序相同的方式來管理基礎架構。本文擬使用Docker技術中的容器發現發布、進程隔離、彈性伸縮,計算環境遷移等功能,解決氣象云平臺服務中遇到的虛擬化問題。

本文通過對Docker技術的深入剖析,結合重慶市氣象局實際業務環境,提出了Docker技術在氣象云平臺服務中的應用方法。并根據提出的方法,搭建了一個MySQL數據庫容器,實現了Docker技術在氣象服務中的應用。

1 Docker技術研究

Docker是2013年由美國dotCloud公司開源的一個基于LXC的高級容器引擎,其源代碼托管在Github上。Docker使用go語言開發,并遵從Apache2.0協議開源。Docker容器引擎讓開發者可以打包應用及依賴包到可移植容器中,容器可發布到任意版本的Linux服務器上,容器是完全使用沙箱機制,相互之間沒有任何接口[4-7]。

1.1 Docker與虛擬機技術比較

傳統方式的虛擬機是在硬件層面實現虛擬化,需要有額外的虛擬機管理應用和虛擬機操作系統層。每套虛擬系統都需要配置,軟件環境也需逐一安裝部署,缺乏靈活性。Docker容器是在操作系統層面上實現虛擬化,直接復用本地主機的操作系統。從資源占用上來說,更加輕量級;從應用上來說,針對容器的虛擬移植性更強,靈活性更高[8]。Docker與傳統虛擬機技術的區別如圖1所示。

圖1 傳統虛擬方式與Docker對比

1.2 Docker架構研究

Docker采用的是Client/Server架構,客戶端向服務器發送請求,服務器負責構建、運行和分發容器。客戶端和服務器可以運行在同一個Host上,客戶端也可以通過socket或REST API與遠程服務器通信。Docker機制包括Image(鏡像)、Container(容器)和Repository(倉庫)。Docker鏡像類似于虛擬機鏡像,為只讀模板,包含了文件系統。容器是從鏡像創建的運行實例,可啟動、開始、停止、刪除,而容器間是相互隔離,獨立進程的。鏡像是創建容器的基礎,倉庫是Docker集中存放鏡像文件的場所[9-10]。Docker架構如圖2所示。

圖2 Docker系統架構

2 Docker在氣象云平臺中的應用研究

根據氣象云計算的資源共享層次,氣象云平臺可以劃分為3層:IaaS(基礎設施即服務)、PaaS(平臺即服務)和SaaS(軟件即服務),如圖3所示。IaaS的發展以虛擬機為最小粒度資源調度單位,PaaS在IaaS基礎上發展而來[11]。隨著氣象業務越來越復雜,出現了資源浪費、調度困難、標準不統一等問題,而容器技術可以解決以上問題。本課題依托重慶市氣象局現有的信息環境,提出Docker技術在重慶氣象云平臺的應用方法。

圖3 IaaS、PaaS、SaaS分類

2.1 Docker在氣象微服務中的應用

重慶市氣象局從2007年開始建立重慶市氣象信息共享服務接口系統,采用SOA架構,通過服務接口的方式提供數據共享服務,同時規定新建氣象信息系統必須遵循SOA標準。

Docker非常適合SOA的微服務架構,每一個單獨的Dockerfile代表一個微服務,這些微服務與SOA架構的傳統服務不同。傳統的服務通常是整體性的,模塊化和重用化困難,微服務則專注于體量小、重用性高的組件,盡可能與運行環境獨立。Docker提供服務的隔離,可以部署在多種環境執行微服務。基于Docker容器的部署,可以進一步深化SOA的氣象微服務架構,提高整個系統架構的可移植性、可擴展性、可編排性。

2.2 Docker在氣象系統開發環境中的應用

在重慶市氣象局實際的氣象系統開發中,大多是基于虛擬機來完成。開發測試環境以及生產環境需要多次安裝與部署,包括應用服務器、數據庫服務器、中間件服務器等。配置工作重復繁瑣,需要花費大量時間。同時,由于配置的一致性問題,開發環境搭建失敗的案例時有發生。

基于Docker的虛擬化技術,可將氣象開發環境虛擬成多個鏡像,集中管理。同時可以定制各種開發所需的個性鏡像及容器。Docker的快速部署能力,降低了環境部署的時間消耗,縮短了系統開發周期。輕量級的容器部署,減少了系統資源的消耗,同時又充分保證了不同開發環境的獨立。

2.3 Docker在氣象系統彈性部署中的應用

在實際業務中,氣象系統的彈性部署大多依賴于人工。系統管理員根據氣象系統的資源使用率、并發量、系統性能等監控信息,進行氣象系統的橫向擴展。這種被動的系統擴張,容易造成資源的浪費,并且隨著系統規模的不斷增長,系統間的復雜度不斷增加,氣象系統維護的工作量激增。

基于Docker的容器虛擬化技術,具有輕量級、靈活、啟動快速的優點,非常適合氣象系統的彈性部署。結合Kubernetes等調度和編排技術,使得Docker集群易于部署、維護和擴展。Docker提高了系統資源的使用率,增加了系統并發處理能力,從而實現了氣象系統的彈性伸縮。

2.4 Docker在氣象云多租戶中的應用

提供氣象業務多租戶服務是氣象云平臺最重要的功能。使用Docker,可為租戶應用層的多個實例創建隔離環境。將虛擬機和Docker技術相結合,可以增強不同租戶、不同安全需求容器間的隔離性,同時避免強隔離帶來的性能損失。租戶租用容器云平臺的資源,用以氣象應用服務的托管、開發、部署運維。容器云平臺為租戶提供服務注冊、服務發現、服務配置、監控、預警告警、負載均衡等功能。

3 測試分析

為了驗證Docker技術在氣象云平臺服務中的可行性,本文選用氣象服務中最常用的數據服務作為測試用例,使用Docker技術在云資源中搭建一個MySQL容器,提供氣象數據服務。與傳統虛擬機提供的數據服務相比較,測試基于Docker技術的氣象數據服務的性能。

本文使用兩個CPU16核,內存32G的虛擬機進行測試,一個直接在系統中安裝MySQL數據庫,一個在系統中安裝Docker容器,然后在容器中安裝MySQL數據庫,Docker的搭建流程如圖4所示。

圖4 Docker搭建流程

Docker搭建的具體步驟如下:

1) 在虛擬機中安裝Centos 7.0系統,為Docker的運行提供環境支持。安裝完成后,進行環境變量的設置。

2) 配置yum源倉庫,通過yum源下載Docker安裝包。yum源倉庫配置如下:

[dockerrepo]

name=Docker Repository

baseurl=https://yum.dockerproject.org/repo/main/centos/7/

enabled=1

gpgcheck=1

gpgkey=https://yum.dockerproject.org/gpg

yum源倉庫配置完成后,執行#yum install docker-engine命令,進行Docker的安裝。

3) 啟動Docker,運行命令service docker start,測試Docker是否正常運行,運行命令docker run hello-world,正常運行情況如圖5所示。

圖5 Docker運行示例

4) 連接Docker公共倉庫下載MySQL鏡像,Docker公共倉庫默認為Docker Hub鏡像倉庫。使用命令進行鏡像的搜索和下載:

#docker search mysql

#docker pull mysql

5) 下載鏡像后,檢查本機安裝的鏡像和本機運行的容器,使用命令:

#docker s

#docker ps -a

6) 啟動MySQL容器,本文在1臺虛擬機上啟動了2個MySQL容器,用以測試容器的性能,2個容器的啟動命令如下:

#docker run --name mysqltest1 -v /home/mysqltest1/conf/my.cnf:/etc/my.cnf -v /home/mysqltest1/logs:/logs -v /home/mysqltest1/data:/mysql_data -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

#docker run --name mysqltest2 -v /home/mysqltest2/conf/my.cnf:/etc/my.cnf -v /home/mysqltest2/logs:/logs -v /home/mysqltest2/data:/mysql_data -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

啟動容器后,使用#docker ps查看容器運行狀態。

完成Docker容器搭建后,本文分別向虛擬機上的MySQL實例和Docker容器中的MySQL數據庫寫入氣象自動站小時觀測數據,寫入數據量為10萬條和100萬條。測試結果如表1所示。

表1 Docker容器寫入測試結果

通過測試,可以發現基于輕量級數據庫,Docker容器和虛擬機的入庫效率相當,而Docker資源利用率更高,系統啟動速度更快,移植性更高,更適合氣象云平臺的服務要求。

4 結語

本文引入的Docker容器在操作系統層面上實現了虛擬化,復用本地主機的操作系統,更加輕量級。實驗證明,與虛擬機相比,容器在啟動速度、復雜度、并發性、資源利用率等方面均優于虛擬機。在氣象云服務平臺建設中,可以根據實際業務確定適用場景,將虛擬機和容器有機地結合起來,有效提高平臺的可用性、可靠性以及伸縮性。后期氣象云服務平臺會逐漸形成數量龐大且關系復雜的容器集群,可以使用Kubernetes容器編排技術進行容器集群的資源管理、調度以及負載均衡,進一步提高氣象云服務平臺的計算服務能力。

猜你喜歡
服務系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
服務在身邊 健康每一天
今日農業(2019年14期)2019-09-18 01:21:54
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
半沸制皂系統(下)
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年15期)2019-01-03 12:11:33
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
主站蜘蛛池模板: 91在线高清视频| 欧美在线精品一区二区三区| 四虎成人精品| 久久精品无码一区二区国产区| 亚洲综合精品第一页| 国产一区二区三区精品久久呦| 999国产精品永久免费视频精品久久 | 亚洲天堂日韩av电影| 国产精品自在自线免费观看| 国产喷水视频| 久久亚洲高清国产| 综合久久五月天| 欧美一级夜夜爽| 亚洲视频a| 国产喷水视频| 色老头综合网| 亚洲无线国产观看| 尤物午夜福利视频| 日韩视频免费| 久久国产精品77777| 97se亚洲综合| 国产一区二区三区免费观看| 激情综合激情| 在线播放国产99re| 中文字幕一区二区人妻电影| 91网址在线播放| 国产精品露脸视频| 亚洲一区毛片| 在线不卡免费视频| 中文字幕在线永久在线视频2020| 国产中文一区二区苍井空| 日本免费精品| 99精品高清在线播放| 99ri国产在线| 动漫精品中文字幕无码| 亚洲国产日韩视频观看| 中文字幕免费视频| 免费99精品国产自在现线| 91国内视频在线观看| 国产精品污视频| 亚洲制服中文字幕一区二区| 日韩国产另类| 性网站在线观看| 欧美成人午夜影院| 啪啪啪亚洲无码| 91精品啪在线观看国产91九色| 在线观看无码a∨| 成人一级黄色毛片| 国产又大又粗又猛又爽的视频| 亚洲美女一区二区三区| 青草精品视频| 午夜日b视频| 欧美在线一二区| 天堂亚洲网| 五月天福利视频| 国产拍揄自揄精品视频网站| 欧美成人在线免费| 精品无码日韩国产不卡av| 国产主播喷水| 国产中文一区二区苍井空| 欧美a级在线| 日本一区二区三区精品视频| 亚洲精品无码av中文字幕| 色婷婷电影网| 日本欧美成人免费| 亚洲天堂福利视频| 四虎成人免费毛片| 四虎永久免费地址| 91精品视频网站| 国产激情无码一区二区免费| 成人福利免费在线观看| 国产粉嫩粉嫩的18在线播放91| 免费一极毛片| 国产自视频| 尤物亚洲最大AV无码网站| 波多野结衣在线se| 欧美国产日本高清不卡| 欧美a在线| 欧美区一区| 91精品视频在线播放| 91欧美在线| 日韩精品一区二区三区中文无码|