国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Docker技術(shù)在微服務(wù)中的應(yīng)用

2019-12-01 05:58:05章仕鋒潘善亮
電子技術(shù)與軟件工程 2019年4期
關(guān)鍵詞:應(yīng)用程序容器運(yùn)維

文/章仕鋒 潘善亮

隨著計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,在信息系統(tǒng)設(shè)計(jì)過程中,軟件體系架構(gòu)的重要性愈發(fā)明顯,傳統(tǒng)單體架構(gòu)設(shè)計(jì)的信息系統(tǒng)存在著系統(tǒng)功能耦合度高、業(yè)務(wù)模塊復(fù)用性低等問題,已難以滿足用戶的使用需求。為解決這一問題,面向服務(wù)的架構(gòu)(SOA)隨即被提出,SOA架構(gòu)將信息系統(tǒng)特定的業(yè)務(wù)功能模塊封裝成服務(wù)的形式發(fā)布,服務(wù)之間耦合度低,服務(wù)接口的實(shí)現(xiàn)可以根據(jù)需要來選擇特定的技術(shù)路線,并根據(jù)需求最大化提高服務(wù)的復(fù)用度,有效的解決了單體架構(gòu)存在的問題。

然而隨著分布式、云計(jì)算技術(shù)使用的日益廣泛,SOA架構(gòu)的局限性開始顯現(xiàn),基于SOA架構(gòu)設(shè)計(jì)的信息系統(tǒng)在面臨業(yè)務(wù)數(shù)據(jù)高并發(fā)、高實(shí)時(shí)的情況下,難以根據(jù)需求進(jìn)行服務(wù)負(fù)載上的靈活調(diào)整,同時(shí)信息系統(tǒng)業(yè)務(wù)高峰期和低谷期對(duì)計(jì)算機(jī)資源使用的差異,也使信息系統(tǒng)的運(yùn)行部署應(yīng)更加的靈活簡(jiǎn)便,基于這一背景,微服務(wù)架構(gòu)(Microservices)開始興起,成為目前諸多分布式系統(tǒng)的設(shè)計(jì)的首選架構(gòu),微服務(wù)架構(gòu)可以看作是對(duì)SOA架構(gòu)的一種改進(jìn),微服務(wù)架構(gòu)通過對(duì)業(yè)務(wù)功能進(jìn)行細(xì)粒度的劃分,保證服務(wù)的單一職責(zé)性,加入服務(wù)注冊(cè)中心、斷路器等模塊來滿足系統(tǒng)負(fù)載均衡的性能需要。根據(jù)微服務(wù)架構(gòu)思想,每一個(gè)微服務(wù)運(yùn)行在獨(dú)立的進(jìn)程之中,服務(wù)之間通過輕量級(jí)通信機(jī)制互相溝通,為滿足這一設(shè)計(jì)要求,以Docker技術(shù)為代表的容器技術(shù)成為微服務(wù)架構(gòu)實(shí)現(xiàn)過程中的重要手段。

1 Docker技術(shù)與虛擬化

1.1 容器化技術(shù)

容器化技術(shù)是指獨(dú)立的應(yīng)用進(jìn)程以容器的形式部署運(yùn)行在操作系統(tǒng)之上,容器中只包含應(yīng)用程序和其所依賴的環(huán)境資源,不會(huì)占用額外的計(jì)算機(jī)軟硬件資源,容器技術(shù)在云計(jì)算、分布式背景下很好的適應(yīng)了短時(shí)間、大規(guī)模數(shù)據(jù)計(jì)算訪問需求,其易于管理部署的特點(diǎn)在DevOps開發(fā)模式中得到了很好的應(yīng)用,大大提高了軟件系統(tǒng)開發(fā)的效率。

1.2 Docker技術(shù)簡(jiǎn)介

Docker是由PaaS 提供商開發(fā)的一種Go語言開發(fā)的開源、輕量級(jí)的容器引擎,Docker技術(shù)有很好的隔離性,通過容器的形式,創(chuàng)建一個(gè)擁有處理器、內(nèi)存和硬盤存儲(chǔ)等計(jì)算機(jī)資源的獨(dú)立虛擬網(wǎng)絡(luò)空間,用戶通過從Docker服務(wù)器端下載初始系統(tǒng)鏡像,然后將將應(yīng)用程序打包移植到系統(tǒng)鏡像上,形成一個(gè)新的獨(dú)立容器,該容器可以部署到任意安裝有Docker環(huán)境的機(jī)器上,容器之間可以通過輕量級(jí)的網(wǎng)絡(luò)協(xié)議進(jìn)行交互。

1.3 Docker技術(shù)與傳統(tǒng)虛擬化技術(shù)的區(qū)別

Docker和傳統(tǒng)虛擬化技術(shù)的區(qū)別在于,Docker是一種輕量級(jí)的虛擬機(jī),Docker在操作系統(tǒng)之上僅進(jìn)行應(yīng)用程序級(jí)別的虛擬,它對(duì)計(jì)算機(jī)資源的需求更少,啟動(dòng)更快,同時(shí)在分布式系統(tǒng)下,Docker部署的應(yīng)用程序能夠進(jìn)行靈活的復(fù)制和回收,很好的適應(yīng)的云平臺(tái)伸縮性、高可用性的要求。

相較于傳統(tǒng)虛擬機(jī)如vmware,Docker技術(shù)的特性能更好的適應(yīng)微服務(wù)架構(gòu)中系統(tǒng)的應(yīng)用需求,越來越多的微服務(wù)應(yīng)用采用了Docker技術(shù)作為應(yīng)用部署開發(fā)的載體。

2 Docker技術(shù)在微服務(wù)中的應(yīng)用

2.1 自動(dòng)化運(yùn)維平臺(tái)

云計(jì)算背景下自動(dòng)化運(yùn)維平臺(tái)需要短時(shí)間內(nèi)完成大量服務(wù)器的部署,包括系統(tǒng)安裝、環(huán)境配置、軟件安裝和性能監(jiān)控等操作。對(duì)于傳統(tǒng)的服務(wù)器部署方式已難以滿足業(yè)務(wù)高效快速響應(yīng)的需求,Docker技術(shù)的出現(xiàn)很好的解決了這一問題,在自動(dòng)化運(yùn)維平臺(tái)中,利用Docker虛擬化技術(shù)部署的應(yīng)用服務(wù)可以做到一次配置、多次部署,可以根據(jù)需求的變化進(jìn)行快速遷移,在業(yè)務(wù)高峰高峰時(shí)通過增加容器來滿足使用需求,業(yè)務(wù)低谷時(shí)通過容器管理平滑的回收再利用計(jì)算機(jī)資源,大大提高了運(yùn)維的效率。

自動(dòng)化運(yùn)維平臺(tái)利用DevOps(Development和Operations的組合詞)開發(fā)模式來實(shí)現(xiàn)對(duì)應(yīng)用系統(tǒng)生命周期的管理,DevOps提出加強(qiáng)IT開發(fā)、技術(shù)運(yùn)營(yíng)和質(zhì)量保障三者的協(xié)同,將開發(fā)人員和運(yùn)營(yíng)人員之間原有的界限打破,采用DevOps開發(fā)的信息系統(tǒng)由于每次更新部署的范圍都較小,信息系統(tǒng)會(huì)以平滑的曲線逐漸成長(zhǎng)。

自動(dòng)化運(yùn)維平臺(tái)的主要組成部分包括:系統(tǒng)資源管理、安裝部署管理、配置管理和監(jiān)控管理。系統(tǒng)資源管理模塊負(fù)責(zé)統(tǒng)一對(duì)云平臺(tái)軟硬件資源進(jìn)行管理,根據(jù)業(yè)務(wù)需求變化情況對(duì)云平臺(tái)計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)等資源進(jìn)行分配,自動(dòng)化控制Docker容器的數(shù)量。安裝部署管理模塊能夠根據(jù)需要自動(dòng)對(duì)應(yīng)用程序運(yùn)行所需的操作系統(tǒng)、軟件和中間件等進(jìn)行進(jìn)行安裝和升級(jí),一鍵化構(gòu)建開發(fā)環(huán)境、測(cè)試環(huán)境和運(yùn)行環(huán)境。配置管理模塊實(shí)現(xiàn)了對(duì)整體平臺(tái)配置文件的統(tǒng)一管理,分布式環(huán)境下包括本地配置和遠(yuǎn)程配置。監(jiān)控管理模塊負(fù)責(zé)對(duì)平臺(tái)所有服務(wù)狀態(tài)的監(jiān)控,對(duì)各個(gè)微服務(wù)容器接口的可用性進(jìn)行檢測(cè),提供平臺(tái)實(shí)時(shí)的性能參數(shù)數(shù)據(jù),當(dāng)發(fā)生錯(cuò)誤時(shí)向管理員發(fā)送錯(cuò)誤報(bào)警并將產(chǎn)生的錯(cuò)誤隔離在一定范圍之內(nèi)。

2.2 負(fù)載均衡

利用Docker容器技術(shù)可以幫助解決云計(jì)算環(huán)境下,分布式系統(tǒng)的負(fù)載均衡問題,微服務(wù)背景下,特定業(yè)務(wù)功能設(shè)計(jì)的微服務(wù)會(huì)被大量重復(fù)調(diào)用,而基于Docker容器技術(shù),對(duì)大量被重復(fù)調(diào)用的重負(fù)載服務(wù)進(jìn)行多節(jié)點(diǎn)重復(fù)部署,利用服務(wù)注冊(cè)中心對(duì)微服務(wù)節(jié)點(diǎn)進(jìn)行管理,當(dāng)某一容器對(duì)應(yīng)的微服務(wù)應(yīng)用程序被大量調(diào)用時(shí),可以調(diào)整節(jié)點(diǎn),選擇負(fù)載較小的其他Docker容器中部署的相同微服務(wù)應(yīng)用程序來提供服務(wù),從而實(shí)現(xiàn)系統(tǒng)集群整體負(fù)載均衡上的控制。

2.3 容器云

隨著容器技術(shù)的大量應(yīng)用,云計(jì)算的三種服務(wù)模型逐漸由IaaS(基礎(chǔ)設(shè)施即服務(wù))、PaaS(平臺(tái)即服務(wù))、SaaS(軟件即服務(wù))向CaaS(容器即服務(wù))過渡,容器云是指通過容器的虛擬化對(duì)應(yīng)用系統(tǒng)的數(shù)據(jù)、程序等資源進(jìn)行部署和管理,系統(tǒng)的應(yīng)用可以通過重復(fù)部署的方式大大提高系統(tǒng)的可用性,系統(tǒng)整體位于以Docker容器為基本單位的集群之中,容器集群通過集群編排管理工具如Google Kubernetes、Docker Swarm對(duì)集群進(jìn)行管理和維護(hù),容器云是微服務(wù)架構(gòu)的重要實(shí)現(xiàn)手段,Docker容器很好的解決了每個(gè)微服務(wù)獨(dú)立部署運(yùn)行的問題,為信息系統(tǒng)細(xì)粒度的業(yè)務(wù)服務(wù)劃分提供了很好的載體。

3 結(jié)語

隨著微服務(wù)架構(gòu)在云計(jì)算、分布式應(yīng)用系統(tǒng)中使用的越來越廣泛,以Docker為代表的容器技術(shù)已經(jīng)成為信息系統(tǒng)設(shè)計(jì)開發(fā)過程中的重要組成部分。本文介紹了目前Docker技術(shù)在微服務(wù)中的主要應(yīng)用場(chǎng)景,利用Docker技術(shù)設(shè)計(jì)部署的分布式應(yīng)用相對(duì)傳統(tǒng)虛擬機(jī)方式部署的分布式應(yīng)用大大提高了計(jì)算機(jī)資源利用率,整體應(yīng)用系統(tǒng)耦合度低,靈活性好,利于后續(xù)改造拓展。

猜你喜歡
應(yīng)用程序容器運(yùn)維
Different Containers不同的容器
難以置信的事情
刪除Win10中自帶的應(yīng)用程序
運(yùn)維技術(shù)研發(fā)決策中ITSS運(yùn)維成熟度模型應(yīng)用初探
風(fēng)電運(yùn)維困局
能源(2018年8期)2018-09-21 07:57:24
雜亂無章的光伏運(yùn)維 百億市場(chǎng)如何成長(zhǎng)
能源(2017年11期)2017-12-13 08:12:25
基于ITIL的運(yùn)維管理創(chuàng)新實(shí)踐淺析
取米
關(guān)閉應(yīng)用程序更新提醒
電腦迷(2012年15期)2012-04-29 17:09:47
三星電子將開設(shè)應(yīng)用程序下載商店
曲周县| 华坪县| 仁寿县| 庆阳市| 西昌市| 来宾市| 中西区| 桂平市| 绥芬河市| 黄陵县| 泸溪县| 塔城市| 洞头县| 始兴县| 瓮安县| 浪卡子县| 扶风县| 太和县| 明溪县| 璧山县| 浦北县| 西乌珠穆沁旗| 旌德县| 浮山县| 纳雍县| 余干县| 故城县| 阿克苏市| 台江县| 泗洪县| 峨边| 宜黄县| 冕宁县| 沧州市| 巩义市| 陕西省| 武安市| 太仆寺旗| 珲春市| 铜山县| 沙田区|