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

        ?

        基于微服務(wù)架構(gòu)的RS10云平臺建設(shè)研究

        2021-06-04 02:21:08戴云鵬喬運(yùn)華周文坤張宵銘
        制造業(yè)自動化 2021年5期
        關(guān)鍵詞:資源功能服務(wù)

        戴云鵬,喬運(yùn)華,周文坤,張宵銘

        (1.北京機(jī)械工業(yè)自動化研究所,北京 100120;2.北京機(jī)械工業(yè)自動化研究所有限公司,北京 100120)

        0 引言

        RS10系統(tǒng)作為一個面向集團(tuán)型企業(yè)管理的大型信息系統(tǒng),已經(jīng)經(jīng)歷了十幾年的發(fā)展。在十幾年間,RS10系統(tǒng)不斷發(fā)展和壯大,功能不斷增多、增強(qiáng)。尤其是近年來,MES系統(tǒng)的飛速發(fā)展,對底層架構(gòu)的沖擊非常大,原有的單體式架構(gòu)已經(jīng)無法滿足RS10系統(tǒng)對性能的需求。微服務(wù)架構(gòu)將大型的系統(tǒng)拆解成為分散的、可以單獨(dú)部署的服務(wù),并且每個服務(wù)都可以有自己的數(shù)據(jù)庫,新擴(kuò)展一個功能,可以增加一個新的微服務(wù)。這樣的架構(gòu)特點,無疑滿足了RS10系統(tǒng)對底層架構(gòu)的性能需求,對擴(kuò)展業(yè)務(wù)系統(tǒng)功能的需求。

        1 單體式架構(gòu)

        單體式架構(gòu)易于部署,在系統(tǒng)功能比較簡單時運(yùn)行的很好。但是歷經(jīng)十幾年時間的發(fā)展,為了滿足客戶日益多樣化的需求,RS10系統(tǒng)經(jīng)過一次又一次的擴(kuò)展,變得越來越龐大、復(fù)雜。單個開發(fā)者已經(jīng)越來越難以了解透徹整個系統(tǒng),系統(tǒng)維護(hù)過程中需要接受的挑戰(zhàn)越來越多,往往一個錯誤的修改就會耗費(fèi)很長時間,而且由于系統(tǒng)耦合度高,一個舊有錯誤的修改往往會帶來很多新的錯誤,這給系統(tǒng)的維護(hù)帶來了很多不便,在原有系統(tǒng)上開發(fā)新功能也變得越來越困難,越來越復(fù)雜。同時新員工對系統(tǒng)的學(xué)習(xí)也變得越來越困難,往往為了解自己負(fù)責(zé)的部分而不得不了解整個系統(tǒng),這對新員工快速進(jìn)入工作不利,降低了工作效率的同時變相增加了人工成本。

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

        微服務(wù)是一種面向服務(wù)的架構(gòu)風(fēng)格,應(yīng)用程序被構(gòu)建為多個不同的小型服務(wù)的集合而不是單個應(yīng)用程序[1]。相比于單體式架構(gòu),微服務(wù)架構(gòu)的部署比較復(fù)雜,但是系統(tǒng)各模塊之間的耦合度很低。微服務(wù)架構(gòu)將整個系統(tǒng)以業(yè)務(wù)功能為基礎(chǔ)進(jìn)行劃分,將單個的系統(tǒng)服務(wù)拆解成不同的服務(wù)。微服務(wù)架構(gòu)具有以下特點:

        2.1 開發(fā)高效

        在傳統(tǒng)開發(fā)模式下,程序的多個功能會統(tǒng)一到一個項目里面,開發(fā)時必然會伴隨著代碼沖突,開發(fā)人員溝通困難等諸多問題,這個問題會隨著團(tuán)隊人數(shù)增多,軟件復(fù)雜度提高變得越來越突出[2]。但是在微服務(wù)架構(gòu)下,系統(tǒng)的不同功能被拆分成了單獨(dú)的服務(wù),服務(wù)之間耦合度很小,每個服務(wù)作為一個項目組,每個項目組的人員只需要負(fù)責(zé)自己項目組的代碼即可,開發(fā)始終是簡潔高效的。同時在交付階段,傳統(tǒng)的項目組必須等到所有功能全部檢測完畢之后才可以交付,某一個地方的錯誤會拖累整個項目組的進(jìn)度。而微服務(wù)是獨(dú)立部署和運(yùn)行的,每項服務(wù)的檢測和交付都是獨(dú)立的,因此可以持續(xù)交付,這樣持續(xù)交付的方式提高了交付的速度。

        2.2 維護(hù)簡便

        每項微服務(wù)可以有自己的編碼方式,甚至是獨(dú)立的數(shù)據(jù)庫,這樣就使得系統(tǒng)的維護(hù)和升級難度大大降低,開發(fā)和維護(hù)團(tuán)隊只需要了解自己負(fù)責(zé)的服務(wù)即可,不需要了解整個系統(tǒng),每個服務(wù)都是單獨(dú)部署,單獨(dú)升級的。這樣使得系統(tǒng)的升級變得輕松,不需要像單體式架構(gòu)一樣升級需要考慮整個系統(tǒng),降低了系統(tǒng)升級的難度。

        2.3 擴(kuò)展性強(qiáng)

        系統(tǒng)在開發(fā)完成之后并不是一成不變的,為了滿足客戶的需求,增加新功能不可避免,在傳統(tǒng)模式下每增加一個新功能,都要考慮對其他功能的影響,但是在微服務(wù)模式下,可以將新功能開發(fā)成一個新的微服務(wù),由于獨(dú)立開發(fā)和部署的原因,和其他功能的關(guān)聯(lián)很小,可以保證原有功能不會受到影響,這樣就很大的提升了系統(tǒng)的擴(kuò)展性。

        圖1 單體架構(gòu)和微服務(wù)架構(gòu)[3]

        3 RS10云平臺

        RS10云平臺是系統(tǒng)底層技術(shù)架構(gòu)的核心,RS10系統(tǒng)的所有服務(wù)都運(yùn)行在云平臺上。云平臺采用了docker容器引擎和Kubernetes容器集群管理系統(tǒng)[4]。

        3.1 docker容器引擎

        docker是一個開源的容器引擎,docker容器本質(zhì)上是一個進(jìn)程,容器之間相互隔離,保證了容器的獨(dú)立運(yùn)行。這符合微服務(wù)架構(gòu)要求的服務(wù)獨(dú)立運(yùn)行和部署的理念。docker建立容器需要以鏡像為模板,因此docker需要一個鏡像倉庫來存儲和管理鏡像。出于安全因素的考慮,公共的鏡像倉庫不符合系統(tǒng)的需要,因此建立私有的harbor鏡像倉庫。這樣不但可以存儲和管理鏡像版本,還可以保證內(nèi)部開發(fā)環(huán)境的安全。鏡像在倉庫內(nèi)部按照項目的不同進(jìn)行分組,同一個項目的鏡像放在一起,管理十分方便。

        3.2 Kubernetes容器集群管理系統(tǒng)

        Kubernetes是google公司推出的開源容器集群管理系統(tǒng),它支持多種語言,Java、Python等語言都可以使用,這是RS10云平臺采用Kubernetes的原因之一。Kubernetes集群的節(jié)點分為master節(jié)點和node節(jié)點,其中master節(jié)點主要負(fù)責(zé)調(diào)度集群的資源,無論是資源的建立、刪除還是停止,都需要通過master節(jié)點來控制,是重中之重。Master節(jié)點一旦出現(xiàn)故障,整個集群都會癱瘓,因此RS10云平臺要求最少有兩個master節(jié)點,確保集群不會因為一個節(jié)點的故障影響整個系統(tǒng)。node節(jié)點負(fù)責(zé)工作資源的運(yùn)行,部署的服務(wù)都會運(yùn)行在node節(jié)點上。Node節(jié)點的故障不會影響整個集群,無論是哪個節(jié)點停止工作,master節(jié)點都會將故障節(jié)點負(fù)責(zé)的工作轉(zhuǎn)移到其他節(jié)點。因此node節(jié)點的數(shù)量是不固定的,一般會根據(jù)集群運(yùn)行資源的需要進(jìn)行調(diào)整。

        3.3 Kubernetes系統(tǒng)的應(yīng)用特性

        Kubernetes不但可以通過命令控制資源,還可以通過可視化工具來管理系統(tǒng)資源。Kubernetes使用dashboard作為可視化工具,無論是節(jié)點,還是名稱空間、存儲類、控制器等資源,都可以通過dashboard進(jìn)行管理。dashboard將用戶分為管理用戶和普通用戶,管理用戶可以對資源進(jìn)行編輯、刪除等操作,普通用戶只能瀏覽頁面,查看集群情況,沒有修改的權(quán)限。另外Kubernetes不但可以擴(kuò)充節(jié)點,還可以實現(xiàn)pod資源的擴(kuò)容。傳統(tǒng)單體式應(yīng)用的集群如果資源緊張,需要擴(kuò)容,那么整個系統(tǒng)的所有功能都需要重新部署在一個新的節(jié)點上。但是大部分時候系統(tǒng)的資源緊張僅僅是其中某一個功能使用頻繁,并不是所有功能都使用頻繁,并且這樣的資源緊張在經(jīng)過一個高峰期后會迅速回落,盲目增加節(jié)點的方式造成了資源的浪費(fèi)。Kubernetes系統(tǒng)可以針對某個服務(wù)進(jìn)行擴(kuò)容,將資源緊張的微服務(wù)對應(yīng)的pod節(jié)點進(jìn)行擴(kuò)容,這樣只針對某個服務(wù)進(jìn)行擴(kuò)容的方式無疑比起增加一個節(jié)點來說不僅節(jié)省了大量的資源,而且節(jié)省了大量的時間。等到服務(wù)使用的高峰期過去,還可以恢復(fù)原來的pod節(jié)點數(shù)量,這樣的工作機(jī)制,對用戶來說無疑是高效而又簡便的。

        圖2 Kubernetes集群節(jié)點關(guān)系簡單示意圖

        圖3 用可視化工具進(jìn)行編輯、刪除操作

        4 RS10系統(tǒng)服務(wù)劃分

        RS10系統(tǒng)將服務(wù)分為三種,分別是基礎(chǔ)服務(wù),業(yè)務(wù)系統(tǒng)服務(wù)和第三方服務(wù)。

        4.1 基礎(chǔ)服務(wù)

        基礎(chǔ)服務(wù)包括安全認(rèn)證、搜索服務(wù)、存儲服務(wù)、資源管理服務(wù)、業(yè)務(wù)元數(shù)據(jù)服務(wù)、信息推送服務(wù)、日志、監(jiān)控等服務(wù)。這些服務(wù)是RS10系統(tǒng)運(yùn)行所必需的服務(wù),例如日志服務(wù)統(tǒng)一記錄應(yīng)用程序產(chǎn)生的各種信息,包括服務(wù)的部署、運(yùn)行、停止過程中產(chǎn)生的信息和記錄。維護(hù)和部署人員統(tǒng)一通過調(diào)用服務(wù),來查看系統(tǒng)是否報錯,并對報出的錯誤進(jìn)行處理;監(jiān)控服務(wù)可以監(jiān)控系統(tǒng)的軟硬件資源,硬件方面主要監(jiān)控內(nèi)存、硬盤、CPU等資源是否充足,一旦硬件資源剩余量過低,就會通知維護(hù)人員,通過增加集群工作節(jié)點的方式對系統(tǒng)硬件資源進(jìn)行擴(kuò)充,或者關(guān)閉不必要的微服務(wù),減少硬件資源的使用。軟件資源方面主要監(jiān)視pod、service等資源是否正常運(yùn)行,如果資源沒有正常運(yùn)行,就需要對沒有正常運(yùn)行的資源進(jìn)行維護(hù),確認(rèn)資源沒有正常運(yùn)行的原因,并修改,記錄。通過軟硬件資源的監(jiān)視,可以很方便的看出RS10系統(tǒng)的運(yùn)行狀態(tài),出現(xiàn)錯誤可以及時改正,減輕了系統(tǒng)維護(hù)人員的負(fù)擔(dān);安全認(rèn)證服務(wù)主要用于安全驗證。服務(wù)與服務(wù)之間,業(yè)務(wù)系統(tǒng)與服務(wù)之間的通信,都存在著網(wǎng)絡(luò)數(shù)據(jù)被竊取的風(fēng)險,所以需要通過安全認(rèn)證服務(wù)進(jìn)行安全驗證,通過驗證之后進(jìn)行安全有效的交互,屏蔽過濾掉惡意、不安全的請求,這樣增加了系統(tǒng)的安全性,確保系統(tǒng)數(shù)據(jù)不會被竊取。這些服務(wù)提供了對RS10系統(tǒng)業(yè)務(wù)的支撐。

        4.2 業(yè)務(wù)系統(tǒng)服務(wù)

        業(yè)務(wù)系統(tǒng)服務(wù)包括EIP門戶服務(wù)、公文服務(wù)、合同服務(wù)、財務(wù)流程服務(wù)、MES服務(wù)、工作流服務(wù)、移動端服務(wù)、郵件服務(wù)等。業(yè)務(wù)系統(tǒng)服務(wù)是對業(yè)務(wù)系統(tǒng)中存在的標(biāo)準(zhǔn)業(yè)務(wù)流程進(jìn)行抽取,抽取成標(biāo)準(zhǔn)服務(wù),例如EIP門戶服務(wù)是對EIP系統(tǒng)中公共部分抽取服務(wù),包括一些標(biāo)準(zhǔn)化的流程和頁面動態(tài)布局提供支持;公文服務(wù)是對公文的流程,包括公文創(chuàng)建、發(fā)起、查看、撤銷等抽取出標(biāo)準(zhǔn)的流程服務(wù),對公文系統(tǒng)進(jìn)行更好的服務(wù)支撐;工作流服務(wù)主要對工作流系統(tǒng)進(jìn)行支撐,可以進(jìn)行行政事務(wù)的審批和業(yè)務(wù)申請的審批。如請假申請,程序錯誤提交申請等;郵箱服務(wù)可以用于企業(yè)內(nèi)部的郵件的接收、發(fā)送;移動端服務(wù)可以讓企業(yè)人員在移動設(shè)備上進(jìn)行辦公,方便出差人員的使用,提高企業(yè)的辦公效率。

        4.3 第三方服務(wù)

        第三方服務(wù)是與第三方插件或工具集成的服務(wù),包括報表和打印服務(wù)、ireport服務(wù)、語音服務(wù)、圖像識別服務(wù)、人工智能服務(wù)等??蛻舻男枨笫嵌喾N多樣的,因此在系統(tǒng)中集成一些第三方服務(wù)變得不可避免。原來的單體式架構(gòu)集成需要考慮第三方插件與系統(tǒng)的沖突,導(dǎo)致系統(tǒng)對第三方插件選擇的余地很小,需要多次測試才能夠確定是否可以采用第三方插件。但是在微服務(wù)架構(gòu)下,系統(tǒng)的選擇范圍大了很多,可以更多的側(cè)重插件的性能。隨著人工智能和大數(shù)據(jù)的發(fā)展,圖像識別、人工智能等已經(jīng)逐漸應(yīng)用到了很多領(lǐng)域,對這些服務(wù)的集成,可以更好地適應(yīng)時代的發(fā)展,滿足客戶的需求。

        5 結(jié)語

        結(jié)合當(dāng)前用戶越來越多的需求和單體式RS10系統(tǒng)越來越復(fù)雜的現(xiàn)狀,基于微服務(wù)架構(gòu)的RS10系統(tǒng)的開發(fā)已經(jīng)成為了當(dāng)前迫切的需求。微服務(wù)架構(gòu)具有的低耦合特性符合RS10的發(fā)展需要。將龐大的RS10系統(tǒng)拆解成一個個的微服務(wù),解決了RS10系統(tǒng)當(dāng)前系統(tǒng)復(fù)雜,學(xué)習(xí)入門難,升級難的問題,每個微服務(wù)的升級與其他微服務(wù)無關(guān),這樣使得團(tuán)隊之間的分工明確,每個團(tuán)隊只需要維護(hù)自己所負(fù)責(zé)的服務(wù)即可,不用為了維護(hù)或者升級一個服務(wù),必須將整個系統(tǒng)都了解一遍,極大地節(jié)約了人力資源。RS10系統(tǒng)從單體式架構(gòu)升級為微服務(wù)架構(gòu),可以有效降低RS10系統(tǒng)的開發(fā)難度,提升RS10系統(tǒng)的開發(fā)效率。

        猜你喜歡
        資源功能服務(wù)
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        基礎(chǔ)教育資源展示
        一樣的資源,不一樣的收獲
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        資源回收
        招行30年:從“滿意服務(wù)”到“感動服務(wù)”
        商周刊(2017年9期)2017-08-22 02:57:56
        關(guān)于非首都功能疏解的幾點思考
        資源再生 歡迎訂閱
        資源再生(2017年3期)2017-06-01 12:20:59
        黄色毛片视频免费| 无套内射在线无码播放| 后入到高潮免费观看| 日韩亚洲av无码一区二区不卡| 五月中文字幕| 亚洲国产精品美女久久久| 久久亚洲中文字幕乱码| 国模吧无码一区二区三区| 亚洲欧美日韩国产综合一区二区| 国产精品一卡二卡三卡| 少妇呻吟一区二区三区| 久久无码高潮喷水抽搐| 女人被爽到呻吟gif动态图视看 | 亚洲中国美女精品久久久 | 性色av一区二区三区密臀av| 中文字幕日韩人妻少妇毛片| 日韩成人无码| 四虎成人精品无码永久在线| 全程国语对白资源在线观看| 老熟妇乱子伦牲交视频| 男人扒开女人下面狂躁小视频| 一区二区三区内射视频在线观看| 亚洲国产一区二区视频| 日本一卡二卡3卡四卡免费观影2022| 久久久久99精品成人片试看| 2021久久精品国产99国产| 日韩麻豆视频在线观看| 精品伊人久久大香线蕉综合| 欧美三级不卡视频| 国产成人夜色在线视频观看| 亚洲av久播在线一区二区| 久久亚洲精品11p| 久久免费精品国产72精品剧情| 午夜一区二区三区免费观看| 草色噜噜噜av在线观看香蕉| 亚洲天堂2017无码中文| 黑丝美女喷水在线观看| 亚洲av熟女少妇久久| 亚洲av日韩av综合| 最新国产美女一区二区三区| 中文字幕丰满人妻av|