亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        微服務(wù)架構(gòu)在容器云中的應(yīng)用實(shí)踐

        2017-09-06 08:11:00耿貞偉
        電腦與電信 2017年7期
        關(guān)鍵詞:鏡像單體容器

        楊 鷗 張 羿 耿貞偉

        (云南電網(wǎng)有限責(zé)任公司,云南 昆明 650011)

        微服務(wù)架構(gòu)在容器云中的應(yīng)用實(shí)踐

        楊 鷗 張 羿 耿貞偉

        (云南電網(wǎng)有限責(zé)任公司,云南 昆明 650011)

        隨著信息化建設(shè)的迅速發(fā)展,電網(wǎng)傳統(tǒng)業(yè)務(wù)應(yīng)用面臨資源不能高效動態(tài)伸縮、高效遷移部署等方面的問題,亟需在開發(fā)平臺中引入微服務(wù)架構(gòu)。以Docker為代表的容器技術(shù)則為微服務(wù)理念提供了匹配的實(shí)現(xiàn)機(jī)制,本文從什么是微服務(wù)切入,詳細(xì)介紹了微服務(wù)架構(gòu)的優(yōu)勢,從電網(wǎng)容器云平臺自身實(shí)踐出發(fā),給出了微服務(wù)架構(gòu)的云端應(yīng)用實(shí)踐。

        微服務(wù);容器持續(xù)集成;單體應(yīng)用

        1 引言

        多年以來,電網(wǎng)公司的IT建設(shè)者門一直在尋找更好的方法來構(gòu)建業(yè)務(wù)系統(tǒng),從而提高資源的利用率和開發(fā)運(yùn)維效率,從傳統(tǒng)服務(wù)器管理模式、采用虛擬化搭建的云計(jì)算管理平臺模式到基于容器構(gòu)建云PaaS平臺方式均取得了良好的經(jīng)濟(jì)效益。而隨著這些基礎(chǔ)平臺的變化,使用傳統(tǒng)整體式架構(gòu)應(yīng)用開發(fā)系統(tǒng)越來越難以滿足企業(yè)不斷變化的需求,難以滿足快速開發(fā)、交互、運(yùn)維的需要。

        近年來,微服務(wù)和容器技術(shù)的不斷發(fā)展,為企業(yè)解決這些問題提供了一種新的模式,很多組織發(fā)現(xiàn)細(xì)粒度的微服務(wù)架構(gòu)可以幫助他們更快地交付軟件,并且有更多機(jī)會嘗試新技術(shù)。微服務(wù)在技術(shù)決策上給了我們極大的自由度,使我們能夠更快地響應(yīng)新的變化。

        2 什么是微服務(wù)架構(gòu)

        微服務(wù)是一種架構(gòu)風(fēng)格,其概念源于Martin Fowler在2014年3月所寫的一篇文章“Microservices”,微服務(wù)提倡將應(yīng)用系統(tǒng)按照一定的原則將大系統(tǒng)拆分成一系列細(xì)小的服務(wù),每個(gè)服務(wù)只需要專注于一個(gè)單一的業(yè)務(wù)功能即可,并且服務(wù)之間可以互相獨(dú)立運(yùn)行,采用輕量級API進(jìn)行通信,來滿足業(yè)務(wù)和用戶的需求。

        在傳統(tǒng)經(jīng)典分層架構(gòu)模式下(例如表現(xiàn)層、業(yè)務(wù)層、數(shù)據(jù)層),業(yè)務(wù)雖然在邏輯劃分有模塊和組件,但常作為一個(gè)整體進(jìn)行編譯、打包、部署、運(yùn)維,因此在物理部署層面依然是一個(gè)“單塊”。圍繞這種架構(gòu)模式,我們可以看到很多常用的IDE集成開發(fā)環(huán)境和編程框架(如eclipse、spring等),它們?yōu)殚_發(fā)者提供便捷的開發(fā)、調(diào)試、測試、部署等體驗(yàn),讓開發(fā)人員可以通過工具、框架快速生成應(yīng)用原型而不必花大量精力在服務(wù)分解和分布式設(shè)計(jì)上。但是伴隨者業(yè)務(wù)和功能的累積擴(kuò)張,應(yīng)用體積也隨機(jī)迅速擴(kuò)大,單塊架構(gòu)難以適應(yīng)這種快速變化的需求,并且面臨開發(fā)效率低、交付周期長、技術(shù)轉(zhuǎn)型難等一系列的挑戰(zhàn)。

        微服務(wù)架構(gòu)則是從架構(gòu)層面出發(fā),將應(yīng)用系統(tǒng)按照一定的邊界分解成一系列的獨(dú)立微服務(wù),每個(gè)微服務(wù)與傳統(tǒng)應(yīng)用中的邏輯模塊或組件相當(dāng),但是可以獨(dú)立地進(jìn)行編譯、部署、運(yùn)行,具有獨(dú)立部署、復(fù)雜度可控、技術(shù)選型靈活和高擴(kuò)展性的優(yōu)點(diǎn)。

        圖1 微服務(wù)參考架構(gòu)

        微服務(wù)架構(gòu)的特點(diǎn)為:

        (1)業(yè)務(wù)粒度微小

        由于體積小、復(fù)雜度低,每個(gè)微服務(wù)可由一個(gè)小規(guī)模開發(fā)團(tuán)隊(duì)完全掌控,易于保持高可維護(hù)性和開發(fā)效率。

        (2)職責(zé)單一

        每個(gè)服務(wù)只做一件事情,并通過定義良好的接口清晰表述服務(wù)邊界。

        (3)隔離性好

        每個(gè)微服務(wù)都可以獨(dú)立部署,互相隔離互不影響,一個(gè)服務(wù)宕機(jī)不會影響其它服務(wù)。

        (4)管理容易

        每個(gè)服務(wù)可以獨(dú)立地進(jìn)行開發(fā)部署,可以針對業(yè)務(wù)特點(diǎn)使用不同的開發(fā)語言。

        當(dāng)然像任何其它技術(shù)一樣,微服務(wù)架構(gòu)也有不足,帶來的挑戰(zhàn)包括:

        (1)通信成本高:在單體應(yīng)用中的一個(gè)函數(shù)或進(jìn)程調(diào)用在微服務(wù)架構(gòu)下可能變成了一個(gè)http遠(yuǎn)程調(diào)用,網(wǎng)絡(luò)延遲會帶來更長的耗時(shí),造成更高的通信成本。

        (2)數(shù)據(jù)一致性問題:在單體應(yīng)用中數(shù)據(jù)通常存儲在一個(gè)數(shù)據(jù)庫中,保證數(shù)據(jù)的一致性很容易,而在微服務(wù)架構(gòu)下,通常不同的微服務(wù)有不同的數(shù)據(jù)庫,但往往一個(gè)操作可能會涉及多個(gè)微服務(wù)的互相調(diào)用,當(dāng)服務(wù)很多時(shí)整個(gè)調(diào)用鏈路變長,調(diào)用失敗的風(fēng)險(xiǎn)高,在這種分布式架構(gòu)下更難保證數(shù)據(jù)的一致性和可靠性。

        (3)服務(wù)依賴:不同服務(wù)之間的依賴問題,導(dǎo)致復(fù)雜度增加。

        (4)部署復(fù)雜:微服務(wù)化后服務(wù)實(shí)例變多,造成更多需要部署、配置和監(jiān)控的部分,此外一個(gè)應(yīng)用的改變可能會波及多個(gè)服務(wù),擴(kuò)展和監(jiān)控難度更大。

        3 微服務(wù)架構(gòu)在容器云中的實(shí)踐

        微服務(wù)架構(gòu)雖然給企業(yè)開發(fā)者們帶來了諸多優(yōu)勢,但同時(shí)也讓構(gòu)建、部署和維護(hù)這些分布式的微服務(wù)系統(tǒng)帶來不少難題。近年來基于輕量級虛擬化技術(shù)、面向應(yīng)用虛擬化運(yùn)行環(huán)境的容器云為微服務(wù)提供了理想的載體,利用容器化技術(shù)簡化微服務(wù)創(chuàng)建、集成、部署、運(yùn)維的整個(gè)流程,推動微服務(wù)在云端的大規(guī)模實(shí)踐,下面以電網(wǎng)容器云平臺為例,說明各個(gè)流程的實(shí)踐:

        圖2 容器云下開發(fā)運(yùn)維流程

        3.1 創(chuàng)建

        在容器云平臺,用戶可以很方便地創(chuàng)建微服務(wù)項(xiàng)目,并在項(xiàng)目中與代碼倉庫進(jìn)行關(guān)聯(lián),輕松選擇代碼項(xiàng)目進(jìn)行構(gòu)建。每當(dāng)開發(fā)人員提交代碼時(shí),系統(tǒng)可以自動將存于代碼倉庫的微服務(wù)程序快速構(gòu)建成新的容器鏡像,經(jīng)過持續(xù)集成自動化驗(yàn)證后轉(zhuǎn)化為隨時(shí)可以部署的容器鏡像,用戶可以將這個(gè)微服務(wù)一鍵部署到容器云平臺上。

        3.2 集成

        在電網(wǎng)容器云平臺的鏡像倉庫中,不僅匯集了來自Docker官方和社區(qū)的優(yōu)質(zhì)鏡像,也支持加入平臺以外的任意鏡像源。用戶可以根據(jù)自己的業(yè)務(wù)需要,像搭積木一樣自由組合、復(fù)用各種容器化微服務(wù),輕松集成應(yīng)用。比如,用戶需要一個(gè)通用的MySQL數(shù)據(jù)庫或者tomcat web服務(wù),他可以直接在鏡像中選擇適合的數(shù)據(jù)庫服務(wù)鏡像,并與其業(yè)務(wù)連接起來。

        3.3 部署

        在電網(wǎng)容器云平臺中可以快速靈活地進(jìn)行部署:您可以用項(xiàng)目鏡像或第三方鏡像進(jìn)行部署。可以一次部署多個(gè)鏡像并為每個(gè)鏡像的容器設(shè)定cpu和內(nèi)存占用。從配置部署到啟動只需要幾分鐘。

        此外,平臺支持升級回滾:部署有完整的版本管理,每次升級會生成一個(gè)部署版本,可以隨意選擇一個(gè)舊版本進(jìn)行回滾。部署出現(xiàn)異常時(shí)可以指定版本恢復(fù)。

        3.4 運(yùn)維

        在微服務(wù)架構(gòu)模式下,由于獨(dú)立進(jìn)程眾多,服務(wù)在部署后如何進(jìn)行運(yùn)維、管理成為實(shí)踐上的另一個(gè)難點(diǎn)。容器云通過主機(jī)管理、主機(jī)監(jiān)控屏蔽用戶來屏蔽底層云主機(jī)和基礎(chǔ)架構(gòu)運(yùn)維,通過容器編排、自動修復(fù)、彈性擴(kuò)展、監(jiān)控日志等高級的應(yīng)用服務(wù),實(shí)現(xiàn)平臺上微服務(wù)的智能托管,幫助用戶降低運(yùn)維成本和難度。

        3.5 存儲

        微服務(wù)一般分為有狀態(tài)和無狀態(tài)的服務(wù),無狀態(tài)的服務(wù)他們通常是不用保存數(shù)據(jù)的,可以很方便地進(jìn)行橫向擴(kuò)展,而有狀態(tài)的服務(wù)則需要存儲數(shù)據(jù),如存儲在數(shù)據(jù)庫或緩存服務(wù)中。在微服務(wù)架構(gòu)模式下,提倡每個(gè)微服務(wù)可根據(jù)實(shí)際需求選擇最合適的數(shù)據(jù)存儲服務(wù)。

        在Docker容器中,持久化保存需要通過掛載Volume來實(shí)現(xiàn),因此容器云平臺將持主機(jī)上的云存儲抽象成數(shù)據(jù)卷直接掛載在容器上,容器在重啟、遷移時(shí)系統(tǒng)無需人工干預(yù)可以自動重新掛載。

        4 從傳統(tǒng)單體式架構(gòu)遷移到微服務(wù)架構(gòu)的策略

        首先,一個(gè)基本的策略是:不要大規(guī)模重寫代碼,除非是重建一套全新基于微服務(wù)的應(yīng)用。重寫代碼聽起來很不錯(cuò),但實(shí)際上充滿了風(fēng)險(xiǎn),最終可能會失敗,相反,我們應(yīng)該采取逐步遷移單體式應(yīng)用的策略,通過逐步生成微服務(wù)新應(yīng)用,與舊的單體式應(yīng)用集成。隨著時(shí)間的推移,單體式應(yīng)用在整個(gè)架構(gòu)中比例逐漸下降直到消失或者成為微服務(wù)架構(gòu)的一部分。

        第二要將前端和后端分離:減小單體式應(yīng)用復(fù)雜度的策略是將表現(xiàn)層(響應(yīng)RESTAPI請求或提供基于HTML的圖形接口)和業(yè)務(wù)邏輯(完成業(yè)務(wù)邏輯的應(yīng)用核心)、數(shù)據(jù)訪問層(訪問基礎(chǔ)元素,例如數(shù)據(jù)庫和消息代理)分開。

        此外,要抽出服務(wù):從單體應(yīng)用中抽取出某些模塊成為獨(dú)立微服務(wù)。每當(dāng)抽取一個(gè)模塊變成微服務(wù),單體應(yīng)用就變得簡單一些;一旦轉(zhuǎn)換足夠多的模塊,單體應(yīng)用本身已經(jīng)不成為問題了,要么消失,要么簡單到成為一個(gè)服務(wù)。

        5 結(jié)語

        構(gòu)建復(fù)雜的應(yīng)用確實(shí)非常困難,而微服務(wù)架構(gòu)模式可以使構(gòu)建復(fù)雜應(yīng)用變得簡單化。微服務(wù)架構(gòu)的誕生和容器技術(shù)的流行幾乎是同時(shí)發(fā)生的,是互聯(lián)網(wǎng)時(shí)代倒逼傳統(tǒng)技術(shù)和架構(gòu)而產(chǎn)生的變革,基于容器技術(shù)的PaaS平臺給開發(fā)者提供了一個(gè)部署和管理微服務(wù)的簡單方法,它把所有這些問題都打包內(nèi)置解決了。

        [1]古明生,解文艷,崔焱.電網(wǎng)企業(yè)去系統(tǒng)化的IT架構(gòu)研究[J].南方能源建設(shè),2016,3(2):118-121.

        [2]郭棟,王偉,曾國蓀.一種基于微服務(wù)架構(gòu)的新型云件PaaS平臺[J].信息網(wǎng)絡(luò)安全,2015(11):15-20.

        [3]楊俊偉,紀(jì)鑫,胡強(qiáng)新.基于微服務(wù)架構(gòu)酯電力云服務(wù)平臺[J].電力信息與通信技術(shù),2017(1):8-12.

        [4]陳愷.Docker與微服務(wù)架構(gòu)的最佳實(shí)踐[EB/OL].http://www. infoq.com/cn/presentations/best-practice-of-micro-service-architecture

        [5]王磊.微服務(wù)架構(gòu)與實(shí)踐[M].北京:電子工業(yè)出版社,2015.

        [6]楊俊偉,紀(jì)鑫,胡強(qiáng)新.基于微服務(wù)架構(gòu)的電力云服務(wù)平臺[J].電力信息與通信技術(shù),2017(1):8-12.

        [7]李蘇璇.基于微服務(wù)架構(gòu)的SaaS應(yīng)用構(gòu)建方法研究[D].廣州:華南理工大學(xué),2016.

        [8]崔蔚,李春陽,劉迪,等.面向微服務(wù)的統(tǒng)一應(yīng)用開發(fā)平臺[J].電力信息與通信技術(shù),2016(9):12-17.

        TheApplication of Micro ServiceArchitecture in Container Cloud

        Yang Ou Zhang YiGeng Zhenwei
        (Yunnan Power Grid Co.,Ltd.,Yunnan,Kunming 650011)

        With the rapid development of information technology,the traditional business applications of power grid faces with many problems,such as inefficient resources,dynamic scalability,efficient migration and deployment.Therefore,it is urgent to introduce micro service architecture into the development platform.The container technology represented by Docker is a micro service concept providing the realization mechanism.From the definition of micro service,this paper introduces the advantages of micro service structure in detail,and introduces the application of micro service architecture in the cloud.

        micro service;container continuous integration;single application

        TP393.09;TP311.52

        A

        1008-6609(2017)07-0079-03

        楊鷗(1987-),女,云南會澤人,本科,工程師,研究方向?yàn)樾畔⒒?xiàng)目管理。

        猜你喜歡
        鏡像單體容器
        Different Containers不同的容器
        鏡像
        難以置信的事情
        鏡像
        小康(2018年23期)2018-08-23 06:18:52
        單體光電產(chǎn)品檢驗(yàn)驗(yàn)收方案問題探討
        相變大單體MPEGMA的制備與性能
        取米
        鏡像
        小康(2015年4期)2015-03-31 14:57:40
        鏡像
        小康(2015年6期)2015-03-26 14:44:27
        巨無霸式醫(yī)療單體的選擇
        亚洲国产美女精品久久久| 国产亚洲av综合人人澡精品| 在线观看一级黄片天堂| 国产精品∧v在线观看| 5级做人爱c视版免费视频| 久久精品午夜免费看| 亚洲av综合av国一区二区三区| 少妇性l交大片7724com | 中文字幕乱码免费视频| 婷婷综合缴情亚洲狠狠| 亚洲激情一区二区三区视频| 国产麻花豆剧传媒精品mv在线| 四虎国产精品免费久久| 亚洲国产A∨无码影院| 精品国产夫妻自拍av| 丰满女人猛烈进入视频免费网站| 中文日韩亚洲欧美制服| 99久久久精品免费香蕉| 国产精品一区一区三区| 国产精品偷窥熟女精品视频| 天堂中文在线资源| 精品福利一区| 精品日韩一区二区三区av| 天天摸天天做天天爽水多| 亚洲av片不卡无码久久| 亚洲国产剧情在线精品视| 激情视频在线观看好大| 免费a级毛片无码a∨中文字幕下载| 人人做人人妻人人精| 国产不卡一区二区三区视频| 免费看黄色亚洲一区久久| 天天色影网| 欧美精品一区二区精品久久| 久久黄色精品内射胖女人| 国精品人妻无码一区二区三区性色| 国产精品一区二区 尿失禁| 成在线人免费视频播放| 国产成人精品aaaa视频一区| 99青青草视频在线观看| 免费看av在线网站网址| 无码人妻少妇色欲av一区二区|