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

        ?

        微服務(wù)架構(gòu)和容器技術(shù)應(yīng)用分析

        2018-12-24 06:38:01李紅健
        無線互聯(lián)科技 2018年8期
        關(guān)鍵詞:容器架構(gòu)服務(wù)

        李紅健

        (湖南科技學(xué)院,湖南 永州 425199)

        微服務(wù)架構(gòu)的產(chǎn)生是軟件架構(gòu)不斷演進(jìn)的結(jié)果。Web開發(fā)經(jīng)歷了單體結(jié)構(gòu),集群結(jié)構(gòu),分布式系統(tǒng),最終演化到微服務(wù)架構(gòu)。微服務(wù)架構(gòu)按照業(yè)務(wù)劃分模塊,實現(xiàn)一個個高度解耦的系統(tǒng)架構(gòu),其中的分布式、快速演化、自動化運維和高容錯性這些優(yōu)點,受到了大批互聯(lián)網(wǎng)公司的青睞。在保障軟件架構(gòu)的靈活伸縮,系統(tǒng)架構(gòu)分布合理的同時,Docker容器的加入,進(jìn)一步降低了微服務(wù)的成本,反過來也使得微服務(wù)和容器結(jié)合得越來越緊密。特別是云端平臺的興起,加速了這種趨勢[1]。

        1 設(shè)計架構(gòu)的演變

        1.1 單體結(jié)構(gòu)

        此時公司業(yè)務(wù)量比較小,系統(tǒng)構(gòu)建并不復(fù)雜,所有的代碼,數(shù)據(jù)庫,文件都部署在一臺機器上,對系統(tǒng)服務(wù)進(jìn)行常規(guī)的應(yīng)用服務(wù)和數(shù)據(jù)服務(wù)分離,增加緩存可以滿足此時的訪問量。

        1.2 集群結(jié)構(gòu)

        公司業(yè)務(wù)逐漸增加,用戶量增大,服務(wù)器壓力也隨之增大,高峰期已經(jīng)不能滿足用戶的操作,于是增加服務(wù)器分擔(dān)原有服務(wù)器的訪問和壓力,同時有了負(fù)載均衡,反向代理,數(shù)據(jù)庫讀寫分離的應(yīng)對方案。

        1.3 分布式系統(tǒng)

        公司業(yè)務(wù)繼續(xù)發(fā)展,用戶規(guī)模和業(yè)務(wù)復(fù)雜已經(jīng)到了一個量級,于是開始把一個系統(tǒng)拆成許多不同的應(yīng)用,每個應(yīng)用進(jìn)行獨立的開發(fā)、測試、運維,應(yīng)用之間通過消息隊列來進(jìn)行數(shù)據(jù)分發(fā),也可以訪問同一個數(shù)據(jù)存儲來構(gòu)成一個關(guān)聯(lián)完整的系統(tǒng)。

        1.4 微服務(wù)架構(gòu)

        微服務(wù)架構(gòu)以去中心化為特點。大規(guī)模用戶的使用需求,對分布式系統(tǒng)的要求很高,并且業(yè)務(wù)快速發(fā)展,迭代周期很短,子系統(tǒng)也不需要如原來企業(yè)計算分布式那樣采用集中式存儲,通常采取前后端分離的方式,使單個業(yè)務(wù)系統(tǒng)組件化,不同的服務(wù)之間采用輕量級的交互機制進(jìn)行交互,使各個子系統(tǒng)做到有效分割,結(jié)合Docker容器,使得微服務(wù)能進(jìn)行實際的應(yīng)用。

        2 微服務(wù)的特性

        2.1 微服務(wù)架構(gòu)的優(yōu)勢

        2.1.1 降低復(fù)雜性

        微服務(wù)架構(gòu)通過分解單體式應(yīng)用為多個服務(wù)方法,降低了系統(tǒng)的復(fù)雜性,多個子系統(tǒng)的分離實現(xiàn)了組件化,一個個組件成為可管理的分支或服務(wù),使其通過模塊化的方式呈現(xiàn)出來。通過微服務(wù)這種架構(gòu)模式,讓單個服務(wù)更容易開發(fā)和維護(hù)。

        2.1.2 部署的獨立性

        每個微服務(wù)都具備相對獨立的運行進(jìn)程和業(yè)務(wù)處理的能力,所以每個微服務(wù)的安裝和部署都可以獨立進(jìn)行。在傳統(tǒng)的架構(gòu)中,如果要對某一程序內(nèi)的某一功能區(qū)進(jìn)行變更,就需要對整體架構(gòu)進(jìn)行統(tǒng)一的重新建設(shè),并進(jìn)行重新部署。而微服務(wù)架構(gòu)在變更時,由于其單個微服務(wù)的獨立性,不需要對整個應(yīng)用進(jìn)行編譯和部署,這大大提高了效率,也降低了對系統(tǒng)環(huán)境所造成的風(fēng)險,縮短了原有的時間操作周期。

        2.1.3 容錯性高

        在傳統(tǒng)單一的構(gòu)架中,如果某一組的應(yīng)用功能發(fā)生故障,那么系統(tǒng)整體的穩(wěn)定性就會受到影響,子系統(tǒng)出現(xiàn)故障,影響會在其他的子系統(tǒng)中蔓延,輕的后果是會導(dǎo)致局部的系統(tǒng)受到影響,部分業(yè)務(wù)無法得到處理,嚴(yán)重的后果是導(dǎo)致整個應(yīng)用系統(tǒng)的崩潰。在微服務(wù)構(gòu)架中,由于單個服務(wù)的獨立性,所以故障的影響可以控制在單個的應(yīng)用中,并不會對其他的服務(wù)造成影響,而且微服務(wù)中有提前審計的功能,有多種機制可以保證應(yīng)用運行的穩(wěn)定[2]。

        2.1.4 技術(shù)靈活

        微服務(wù)構(gòu)架有多種技術(shù)的選擇,常見的Java,NodeJs,Python,React Native都可以實現(xiàn)具體的微服務(wù)邏輯,也可以混合使用。通過對技術(shù)的合理選擇,節(jié)省成本的同時,做到專業(yè)分工。在使用不同的技術(shù)對微服務(wù)架構(gòu)進(jìn)行整合和部署的過程中,由于微服務(wù)的相對簡單,在升級的時候面臨更小的破壞風(fēng)險,微服務(wù)的技術(shù)重構(gòu)也更具有可行性[3]。

        2.1.5 易擴展

        微服務(wù)的架構(gòu)中,系統(tǒng)的獨立性比較強,保證了系統(tǒng)的擴展性也比較強,其擴展的方向也相對較多,在橫向的擴展中可以使相同維度的業(yè)務(wù)實現(xiàn)無縫銜接,當(dāng)不同的組件間接口出現(xiàn)差異的時候,其獨立性也可以大大降低銜接的復(fù)雜性。在縱向的方向上,組件化也使得多個維度的業(yè)務(wù)能有序地進(jìn)行數(shù)據(jù)交互,微服務(wù)架構(gòu)的特點大大降低了擴展風(fēng)險。

        2.2 微服務(wù)架構(gòu)面臨的問題

        微服務(wù)的復(fù)雜性主要體現(xiàn)于分布式這種架構(gòu)方式上。由于應(yīng)用的是分布式系統(tǒng),給開發(fā)時帶來了天然的系統(tǒng)復(fù)雜性。開發(fā)者需要在RPC或消息傳遞之間選擇進(jìn)程間通信機制,更甚于開發(fā)者必須平衡消息傳遞過快或者過慢的問題,顯然這加大了服務(wù)的復(fù)雜性[4]。

        另一個挑戰(zhàn)是數(shù)據(jù)庫分區(qū)架構(gòu)。在微服務(wù)的應(yīng)用中,應(yīng)用需要同時服務(wù)多個數(shù)據(jù)庫。NoSQL數(shù)據(jù)庫和信息代理的機制的系統(tǒng),并不支持分布式交易,這對開發(fā)者帶來了很高的挑戰(zhàn)。

        3 容器技術(shù)

        容器技術(shù)的使用,使得微服務(wù)器架構(gòu)中所面臨的壓力得到很大程度上的緩解。容器技術(shù)的特點為微服務(wù)構(gòu)架提供了落地的機會,其中的內(nèi)核機制可以實現(xiàn)不同的容器之間的聯(lián)系,容器之間資源也能實現(xiàn)完全的隔離,它們中有一個典型的代表—Docker。

        容器技術(shù)的高速發(fā)展為計算機的云計算問題提供了解決的可能,現(xiàn)在多重容器技術(shù)都已經(jīng)成為容器的標(biāo)準(zhǔn)規(guī)范。Linux容器具有較多的功能,也實現(xiàn)了十分規(guī)范的管理。微服務(wù)通過將單個應(yīng)用程序分解,實現(xiàn)了組件化,又通過Kubemetes等技術(shù)將原有的集群統(tǒng)一地編織在一起,提供應(yīng)用的部署、維護(hù)、擴展機制等功能,實現(xiàn)對不同容器的有效管理[5]。

        Docker是容器技術(shù)中的代表,特點體現(xiàn)在具有標(biāo)準(zhǔn)的鏡像結(jié)構(gòu),實現(xiàn)了對不同資源實行不同存儲的功能,也能滿足大規(guī)模的托管服務(wù),對于有主機集群的云服務(wù)平臺,通過分解應(yīng)用構(gòu)建、發(fā)布等方式實現(xiàn)對云計算技術(shù)的開發(fā),在實現(xiàn)云計算平臺的構(gòu)建的同時,還可以進(jìn)行優(yōu)化和自動化維護(hù)環(huán)境,使得工作的效率能夠得到有效的提升,在降低成本的同時,滿足了微服務(wù)架構(gòu)所需要的資源。

        Docker的體系中,最關(guān)鍵的有兩個,Docker Register和Docker Engine,前者負(fù)責(zé)構(gòu)建和分發(fā)應(yīng)用鏡像,后者負(fù)責(zé)構(gòu)建容器。這種組合方式,是云服務(wù)的軟件即服務(wù)(Softwareas-a-Service,SaaS)理念,用戶可以在各自的數(shù)據(jù)中心內(nèi)建立私有的Docker Register,形成屬于自己的私有集群,以應(yīng)對大規(guī)模的應(yīng)用擴展需求[6]。Docker很像一個集裝箱,通過Lxc技術(shù)先進(jìn)行整合鏡像,再集中匯總進(jìn)行分發(fā)。

        普通的虛擬機與容器技術(shù)有一定的相似性,但是容器技術(shù)在很多細(xì)節(jié)和虛擬機并不相同。虛擬機建立在硬件平臺上,而容器技術(shù)建立在操作系統(tǒng)(Operating System,OS)上,可以把容器看作是虛擬機輕量化的實現(xiàn)。Docker在實現(xiàn)應(yīng)用隔離的同時,沒有虛擬機必須的虛擬化管理層,對比虛擬機太長的啟動時間,容器的啟動與停止可以在毫秒級這個范圍內(nèi)啟動。比較這些特性,Docker容器顯然更勝虛擬機一籌。

        4 基于容器的微服務(wù)應(yīng)用

        Docker的細(xì)粒度松散耦合和微服務(wù)架構(gòu)相得益彰。我們可以讓Docker容器裝載這樣一個場景功能,按照不同的角色分類,每一個容器里裝一個服務(wù)和應(yīng)用,一個服務(wù)器中運行多個容器,也可以將多個容器分散到多個服務(wù)器上運行。整個項目架構(gòu)按照業(yè)務(wù)邏輯的規(guī)劃以細(xì)粒度的方式分散到了各個Docker中,并可以根據(jù)Rest接口的方式進(jìn)行整合聯(lián)動[7]。一個典型的例子可以是負(fù)載均衡層、綜合業(yè)務(wù)服務(wù)層、單業(yè)務(wù)服務(wù)層、存儲層。這種多分層的方式,可以很好地保證容器對微服務(wù)的支持,高效地保證每一層服務(wù)的運行。當(dāng)然,這種應(yīng)用方式也是有些許弊端,在架構(gòu)設(shè)計的前期,需要花費較多時間來進(jìn)行詳細(xì)的系統(tǒng)分析和邏輯劃分。

        5 結(jié)語

        微服務(wù)架構(gòu)和容器的結(jié)合在程序開發(fā)中應(yīng)用已經(jīng)成為一種新的開發(fā)方式,通過不同的微服務(wù)實現(xiàn)業(yè)務(wù)架構(gòu)的粒度化,通過不同的容器承載不同的業(yè)務(wù),為用戶提供更多的開發(fā)選擇。微服務(wù)構(gòu)架中采用容器技術(shù)后,一方面更加微型化;另一方面容器使微服務(wù)開發(fā)更加的便捷。這種開發(fā)方式將隨著時間的推移越來越流行。

        [參考文獻(xiàn)]

        [1]楊鷗,張羿,耿貞偉.微服務(wù)架構(gòu)在容器云中的應(yīng)用實踐[J].電腦與電信,2017(7):79-81.

        [2]張晶,黃小鋒,李春陽.微服務(wù)框架的設(shè)計與實現(xiàn)[J].計算機系統(tǒng)應(yīng)用,2017(6):259-262.

        [3]王紀(jì)軍,張斌,顧永生,等.云環(huán)境中Web應(yīng)用的微服務(wù)架構(gòu)評估[J].計算機系統(tǒng)應(yīng)用,2017(5):9-15.

        [4]劉為.微服務(wù)架構(gòu)及相應(yīng)云平臺解析[J].科教導(dǎo)刊,2017(1):27-28.

        [5]佚名.容器+微服務(wù)成為驅(qū)動混合IT關(guān)鍵[J].郵電設(shè)計技術(shù),2017(1):5.

        [6]黃小鋒,張晶.微服務(wù)框架介紹與實現(xiàn)[J].電腦與信息技術(shù),2016(6):14-16.

        [7]王健,李冬睿.從單一模式系統(tǒng)架構(gòu)往微服務(wù)架構(gòu)遷移轉(zhuǎn)化技術(shù)研究[J].科教導(dǎo)刊,2016(9):43-44.

        猜你喜歡
        容器架構(gòu)服務(wù)
        基于FPGA的RNN硬件加速架構(gòu)
        Different Containers不同的容器
        功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實踐
        汽車工程(2021年12期)2021-03-08 02:34:30
        難以置信的事情
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        招行30年:從“滿意服務(wù)”到“感動服務(wù)”
        商周刊(2017年9期)2017-08-22 02:57:56
        LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實現(xiàn)
        取米
        手机看片国产日韩| 91久久精品色伊人6882| 日本熟妇中出高潮视频| 国产精品性色av麻豆| 日韩人妻中文字幕专区| 插入日本少妇一区二区三区| 日本妇人成熟免费2020| 国产高清在线观看av片| 国产精品国产三级国产av品爱网| 2019最新中文字幕在线观看| 亚洲精品天天影视综合网| 丰满岳乱妇一区二区三区| 欧美日韩精品| 国产成人精品亚洲午夜| 爆乳无码AV国内| 9l国产自产一区二区三区| 久久精品国产亚洲综合av| 成人大片免费观看视频| 无遮挡1000部拍拍拍免费| 国产精品扒开腿做爽爽爽视频| 丰满少妇三级全黄| 色拍拍在线精品视频| 免费国产h视频在线观看86| 亚洲av偷拍一区二区三区| 夜色视频在线观看麻豆| 国产精品一区二区韩国av| 亚洲综合偷自成人网第页色| 亚洲国产精品无码久久一线| 少妇人妻综合久久中文字幕| 婷婷亚洲久悠悠色悠在线播放| 久久久久国产精品免费免费搜索| 无码毛片高潮一级一免费| 中国免费av网| 国产专区亚洲专区久久| 久久婷婷综合缴情亚洲狠狠| 欧美大胆性生话| 亚洲精品乱码久久久久久蜜桃图片 | 国产免费一区二区三区在线观看| 国产在线不卡视频| 中文字幕日韩一区二区不卡| 国产丝袜美腿在线播放|