基于Docker容器的微服務(wù)研究與實(shí)現(xiàn)_第1頁(yè)
基于Docker容器的微服務(wù)研究與實(shí)現(xiàn)_第2頁(yè)
基于Docker容器的微服務(wù)研究與實(shí)現(xiàn)_第3頁(yè)
基于Docker容器的微服務(wù)研究與實(shí)現(xiàn)_第4頁(yè)
基于Docker容器的微服務(wù)研究與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、    基于docker容器的微服務(wù)研究與實(shí)現(xiàn)    【摘  要】隨著信息技術(shù)的發(fā)展,在大數(shù)據(jù)時(shí)代的背景下對(duì)于信息的讀寫(xiě)速度和網(wǎng)絡(luò)的移植功能有了更高的要求,一些網(wǎng)絡(luò)系統(tǒng)的設(shè)計(jì)也由單一的場(chǎng)景和應(yīng)用向著“一平臺(tái),多場(chǎng)景”的微應(yīng)用系統(tǒng)設(shè)計(jì)轉(zhuǎn)變。在技術(shù)方面,要實(shí)現(xiàn)微服務(wù)的轉(zhuǎn)變需要依托可移植的網(wǎng)絡(luò)容器。本文探討了基于docker這一應(yīng)用容器引擎、基于soa的dubbo架構(gòu)的治理框架實(shí)現(xiàn)將個(gè)體應(yīng)用分解轉(zhuǎn)變成獨(dú)立的微服務(wù)。同時(shí)利用容器協(xié)助形成微服務(wù)的自動(dòng)安置和進(jìn)一步的擴(kuò)展。【關(guān)鍵詞】微服務(wù);docker容器;soa架構(gòu)引言互聯(lián)網(wǎng)的多維式發(fā)展讓網(wǎng)站和應(yīng)用的開(kāi)發(fā)

2、模式不再單一,傳統(tǒng)的老式計(jì)算機(jī)軟件開(kāi)發(fā)模式在現(xiàn)代的網(wǎng)絡(luò)環(huán)境中的弊端逐漸顯現(xiàn)。在現(xiàn)代化模式下,開(kāi)發(fā)模式向敏捷式開(kāi)發(fā)和微服務(wù)模式過(guò)渡。微服務(wù)是對(duì)個(gè)體應(yīng)用中的服務(wù)模塊和組件進(jìn)一步的完善和拆分,使其成為獨(dú)立于應(yīng)用存在的服務(wù)結(jié)構(gòu),這樣的分解結(jié)構(gòu)也大大方便了現(xiàn)代網(wǎng)絡(luò)模式下軟件的開(kāi)發(fā)和維護(hù)。1.docker容器技術(shù)概述docker容器是一款基于go語(yǔ)言和lxc的高級(jí)引擎,具有易操作、隔離性高、啟動(dòng)快等性質(zhì)。而且基于docker的微服務(wù)部署不用考慮資源耗費(fèi)量的問(wèn)題,因?yàn)樵赿ocker容器中可以實(shí)現(xiàn)部署迅速、移植操作、便于管理和服務(wù)共享等功能,只需要進(jìn)行單次編譯就可以移植到其他平臺(tái)進(jìn)行操作。此外,docker的

3、管理系統(tǒng)有很強(qiáng)的規(guī)劃性,還能達(dá)到資源共享的目的。隨著docker容器核心技術(shù)的進(jìn)步,依賴于docker的微服務(wù)的功能也將增加。1.1 docker的技術(shù)實(shí)現(xiàn)docker依賴lxc實(shí)現(xiàn)分布式運(yùn)行的功能,主要包括命名空間和群組控制兩個(gè)方面。命名空間具有很強(qiáng)的隔離性,幫助程序運(yùn)行時(shí)提供獨(dú)立的空間,避免了各個(gè)系統(tǒng)運(yùn)行過(guò)程中的干擾問(wèn)題。群組控制負(fù)責(zé)控制不同docker運(yùn)行中所需的內(nèi)存和cpu,不僅能實(shí)現(xiàn)堆運(yùn)行進(jìn)程的實(shí)時(shí)監(jiān)管,還能讓網(wǎng)絡(luò)資源利用率實(shí)現(xiàn)最大化。另外,群組控制能依據(jù)docker的重要程度合理安排控制排序,形成合理的資源分配的程序運(yùn)行架構(gòu)。1.2 docker容器的優(yōu)勢(shì)由于特殊的技術(shù)原理支撐,d

4、ocker的優(yōu)勢(shì)也相對(duì)明顯。首先它的秒級(jí)啟動(dòng)功能就為整個(gè)系統(tǒng)的運(yùn)行和操作提供了極大的便利條件,另外,docker易于架構(gòu)的優(yōu)勢(shì)讓資源的分配率更合理,每個(gè)主機(jī)構(gòu)建的docker越多,整個(gè)系統(tǒng)的運(yùn)行效率就越高。docker容器的具體優(yōu)勢(shì)體現(xiàn)如下:(1)節(jié)省時(shí)間節(jié)約成本。docker通過(guò)直接操作主機(jī)的內(nèi)核,達(dá)到了程序運(yùn)行時(shí)占用網(wǎng)絡(luò)資源小、運(yùn)行快的節(jié)約目的,運(yùn)行空間也比傳統(tǒng)的虛擬機(jī)擴(kuò)大了幾千倍,因此運(yùn)行成本大大減少。(2)更高效。docker單次運(yùn)行就能在平臺(tái)間移植操作的特性,縮短了程序的開(kāi)發(fā)和測(cè)試時(shí)間,提高了內(nèi)存和cpu的利用度,保證了程序的高效運(yùn)行。(3)易于管理。docker便于查看和接收信息指

5、令,而且當(dāng)系統(tǒng)發(fā)生故障的時(shí),能通過(guò)觀察指令信息來(lái)確定故障范圍,因此數(shù)據(jù)管理更方便,故障修復(fù)更容易。2.docker虛擬化技術(shù)docker基于linux技術(shù)的特性讓整個(gè)系統(tǒng)實(shí)現(xiàn)了操作虛擬化,每個(gè)用戶都在隔離的狀態(tài)下對(duì)系統(tǒng)進(jìn)行操作,并且能共享和記錄每個(gè)程序中代碼間的關(guān)聯(lián),形成方便快速操作的新的構(gòu)建。微服務(wù)的實(shí)現(xiàn)則是通過(guò)docker把拆分后的應(yīng)用程序移植到linux上面實(shí)現(xiàn)的,基于docker容器的微服務(wù)程序具有諸多優(yōu)勢(shì)。2.1節(jié)省網(wǎng)絡(luò)資源的優(yōu)勢(shì)微服務(wù)在docker容器中的實(shí)現(xiàn)是通過(guò)在程序運(yùn)行中建立分散形式的應(yīng)用,再投射到docker容器上,整個(gè)程序運(yùn)行的環(huán)境被包括在docker容器內(nèi),不僅對(duì)網(wǎng)絡(luò)空

6、間的占用率減少,也減少了一大部分網(wǎng)絡(luò)資源的占用。2.2基于docker容器微服務(wù)環(huán)境的優(yōu)勢(shì)docker容器內(nèi)有足夠的空間環(huán)境支持程序的運(yùn)行,因此省略了后期對(duì)程序的運(yùn)行和維護(hù),只需要維護(hù)好負(fù)責(zé)運(yùn)行docker的虛擬機(jī)即可。2.3高效率的優(yōu)勢(shì)docker能在一秒內(nèi)實(shí)現(xiàn)程序服務(wù)的啟動(dòng)和迅速部署。一般在擁擠的網(wǎng)絡(luò)環(huán)境下,需要迅速在最短的時(shí)間里擴(kuò)充和維護(hù)服務(wù)器來(lái)容納大流量,而在docker容器中只需要一秒就能達(dá)到擴(kuò)充容量,以更快速、更高效、更敏捷的程序支撐擁擠的網(wǎng)絡(luò)環(huán)境。3.基于docker的dubbo應(yīng)用docker容器要想對(duì)微服務(wù)進(jìn)行部署,就要求微服務(wù)對(duì)軟件程序進(jìn)行拆分,形成獨(dú)立的服務(wù)機(jī)制,讓這些服

7、務(wù)系統(tǒng)可以獨(dú)立升級(jí)、快速部署,同時(shí)讓各個(gè)應(yīng)用達(dá)到運(yùn)行所需的敏捷力和自我管理能力。基于這一需要,微服務(wù)在拆分服務(wù)機(jī)制時(shí)就需要dubbo框架的支持。dubbo是一種開(kāi)源的分布式微服務(wù)框架,并且結(jié)合了zookepper作為整個(gè)框架的服務(wù)注冊(cè)站點(diǎn),dubbo和zookepper的組合不僅能完成服務(wù)注冊(cè),還能發(fā)現(xiàn)和均衡軟負(fù)載。本文探討了使用dockerfile制作鏡像,構(gòu)建基于docker的dubbo框架,如圖 1 所示。架構(gòu)中的nginx的作用是支撐大流量的同時(shí)訪問(wèn),并且對(duì)這些訪問(wèn)做出快速的響應(yīng)和處理,在特殊情況下還能當(dāng)做負(fù)載均衡服務(wù)器提供外部服務(wù);provider cluster node是整個(gè)框架

8、中為服務(wù)機(jī)制提供注冊(cè)的一環(huán),在這一環(huán)節(jié)中,需要把所能提供的服務(wù)提前注冊(cè)到注冊(cè)站,以方便服務(wù)使用者隨時(shí)調(diào)取服務(wù);zookepper cluster node:所有的zookepper都不分等級(jí),但是會(huì)隨機(jī)選擇某個(gè)點(diǎn),使其成為leader,在程序運(yùn)行的時(shí)候,如果有節(jié)點(diǎn)宕機(jī),則舍棄該節(jié)點(diǎn);dubbo monitor是實(shí)施監(jiān)控的一環(huán),這一環(huán)負(fù)責(zé)向管理人員展示整個(gè)docker容器的運(yùn)營(yíng)狀況和各環(huán)節(jié)服務(wù)調(diào)取的狀態(tài)。該試驗(yàn)方法把整個(gè)應(yīng)用拆分成了單一獨(dú)立的微服務(wù),并且把所有服務(wù)都放置于docker容器內(nèi),而微服務(wù)和服務(wù)使用者之間則通過(guò)zookepper的各個(gè)節(jié)點(diǎn)進(jìn)行連接。當(dāng)網(wǎng)絡(luò)在同一時(shí)間出現(xiàn)大流量和訪問(wèn)量的時(shí)

9、候,nginx系統(tǒng)可以通過(guò)負(fù)載手段來(lái)均衡一部分的訪問(wèn)量。各個(gè)環(huán)節(jié)之間的合作模擬形成了基于docker容器的微服務(wù)框架的搭建。本方法既體現(xiàn)了微服務(wù)之間節(jié)點(diǎn)的低耦合性,又體現(xiàn)了資源的高效利用和服務(wù)模塊的快速部署。4.結(jié)束語(yǔ)盡管在應(yīng)用信息技術(shù)的發(fā)展中,微服務(wù)的發(fā)展還沒(méi)有完全成熟,但是與docker容器的組合無(wú)疑讓微服務(wù)有了更高效的運(yùn)行結(jié)構(gòu)。在整個(gè)框架中,既能實(shí)現(xiàn)動(dòng)態(tài)注冊(cè)和獲取服務(wù),還能遠(yuǎn)程調(diào)取服務(wù),滿足了服務(wù)消費(fèi)者的一切需求。而且通過(guò)dobbo平臺(tái)可以實(shí)現(xiàn)迅速部署,在整個(gè)運(yùn)行過(guò)程中不至于對(duì)網(wǎng)絡(luò)資源造成大規(guī)模浪費(fèi),還可以滿足應(yīng)用不斷擴(kuò)大規(guī)模的需要,就算如此,程序啟動(dòng)時(shí)長(zhǎng)和服務(wù)部署難度也不會(huì)隨之增加。在數(shù)據(jù)處理方面,基于docker容器的微服務(wù)也有速率高的優(yōu)勢(shì),高效的讀寫(xiě)速度讓這一結(jié)合框架具備微服務(wù)必須具備的數(shù)據(jù)儲(chǔ)存和調(diào)取等功能,且為這些數(shù)據(jù)的儲(chǔ)存和服務(wù)的調(diào)取提供了安全性較高的容器環(huán)境。參考文獻(xiàn)1張麗敏, 高晶, 李務(wù)斌, et al. 微服務(wù)環(huán)境下容器編排可視化實(shí)踐研究j. 計(jì)算機(jī)工程與科學(xué), 2019(8):1366-1373.2張瑞林, 吳學(xué)敏. docker容器技術(shù)在后端服務(wù)設(shè)計(jì)中的應(yīng)用j. 電腦知識(shí)與技術(shù):學(xué)術(shù)版, 2019(5):281-282.3孫瓊, 羅光峰. 新一代運(yùn)營(yíng)系統(tǒng)中持續(xù)交付平臺(tái)的實(shí)現(xiàn)j. 電信技術(shù), 2017(3):

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論