999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

業(yè)務(wù)架構(gòu)的微應(yīng)用化與技術(shù)架構(gòu)的微服務(wù)化

2017-02-21 20:29:57李忠民齊占新
科技創(chuàng)新與應(yīng)用 2016年35期

李忠民+++齊占新

摘 要:微服務(wù)架構(gòu)已經(jīng)在實(shí)踐中被普遍應(yīng)用,國網(wǎng)也在努力實(shí)踐“一平臺(tái)一系統(tǒng)多場(chǎng)景微應(yīng)用”的設(shè)計(jì)理念,但是在微服務(wù)架構(gòu)的實(shí)施過程中,作者感覺業(yè)界在微服務(wù)架構(gòu)論述上把業(yè)務(wù)架構(gòu)和技術(shù)架構(gòu)糅合在一起,概念不是很清晰;同時(shí)在實(shí)踐過程中作者對(duì)微服務(wù)的粒度劃分標(biāo)準(zhǔn)有自己一些認(rèn)識(shí),文章圍繞上述兩點(diǎn)展開討論,談?wù)勛约旱挠^點(diǎn)。

關(guān)鍵詞:微服務(wù)架構(gòu);微應(yīng)用化;微服務(wù)化;微服務(wù)粒度

每個(gè)新的技術(shù)概念的提出都是為了解決應(yīng)用實(shí)踐中面臨的問題,同時(shí)新的技術(shù)概念往往引起應(yīng)用實(shí)踐模式的轉(zhuǎn)變,這一點(diǎn)在架構(gòu)設(shè)計(jì)領(lǐng)域表現(xiàn)的尤為突出。二者有點(diǎn)像經(jīng)濟(jì)基礎(chǔ)和上層建筑的關(guān)系,經(jīng)濟(jì)基礎(chǔ)決定上層建筑,上層建筑反過來又顯著地影響著經(jīng)濟(jì)基礎(chǔ);同樣,業(yè)務(wù)架構(gòu)決定技術(shù)架構(gòu),技術(shù)架構(gòu)反過來又顯著影響著業(yè)務(wù)架構(gòu),微服務(wù)架構(gòu)的提出和實(shí)施,不可避免會(huì)要求業(yè)務(wù)架構(gòu)做出相應(yīng)演進(jìn)。

作者從國網(wǎng)“一平臺(tái)一系統(tǒng)多場(chǎng)景微應(yīng)用”的實(shí)施過程中,逐漸認(rèn)識(shí)到微服務(wù)架構(gòu)的實(shí)施實(shí)際上分為如下兩個(gè)部分:業(yè)務(wù)架構(gòu)的微應(yīng)用化;技術(shù)架構(gòu)的微服務(wù)化。

下面首先提出微應(yīng)用、微服務(wù)的概念,從而引出業(yè)務(wù)架構(gòu)的微應(yīng)用化和技術(shù)架構(gòu)的微服務(wù)化觀點(diǎn)。

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

總結(jié)微服務(wù)架構(gòu)的提出者M(jìn)artin對(duì)微服務(wù)架構(gòu)的定義,微服務(wù)架構(gòu)有如下特征:由多個(gè)分布式服務(wù)組成,多個(gè)獨(dú)立的服務(wù),共同組成系統(tǒng);每個(gè)服務(wù)單獨(dú)部署,運(yùn)行在獨(dú)立的進(jìn)程(容器)里;服務(wù)可以獨(dú)立設(shè)計(jì)、開發(fā)、部署,可以采用不同的技術(shù)路線;分布式的管理。

微服務(wù)架構(gòu)模式有許多優(yōu)點(diǎn):拆分單一的復(fù)雜性的單體應(yīng)用為可管理的模塊或服務(wù)。單個(gè)的服務(wù)可以更快的開發(fā),更簡單的理解和維護(hù)。每個(gè)服務(wù)可以由單獨(dú)的團(tuán)隊(duì)獨(dú)立開發(fā),開發(fā)者可以自由地選擇合理的技術(shù),只要服務(wù)遵守 API 約定即可。每一個(gè)微服務(wù)能被獨(dú)立部署,讓持續(xù)部署成為可能。

可見微服務(wù)架構(gòu)是一個(gè)技術(shù)概念,是從技術(shù)架構(gòu)角度來提出的一種新架構(gòu)模式,是一種新的設(shè)計(jì)、開發(fā)、實(shí)施、運(yùn)維的實(shí)踐方法,從企業(yè)架構(gòu)(EA)角度分析,應(yīng)該劃分到技術(shù)架構(gòu)的范疇。

2 微服務(wù)

微服務(wù)是一個(gè)高內(nèi)聚低耦合IT的實(shí)體,有明確的邊界,屬于技術(shù)架構(gòu)的范疇,可獨(dú)立設(shè)計(jì)、開發(fā)、測(cè)試、部署、運(yùn)維管理,一般具有自己的表現(xiàn)層、業(yè)務(wù)層甚至數(shù)據(jù)庫層,一般每個(gè)服務(wù)實(shí)例運(yùn)行在一個(gè)容器中。

3 微應(yīng)用

微應(yīng)用是一個(gè)高內(nèi)聚低耦合的業(yè)務(wù)實(shí)體,有明確的業(yè)務(wù)邊界,微應(yīng)用應(yīng)該是一個(gè)完整的、自洽的業(yè)務(wù)模塊,屬于業(yè)務(wù)架構(gòu)的范疇。

微應(yīng)用是從應(yīng)用場(chǎng)景中抽象總結(jié)出來的一些獨(dú)立業(yè)務(wù)模塊,模塊之間很少相互的業(yè)務(wù)聯(lián)系,即使有也通過工作流等機(jī)制進(jìn)行。

從領(lǐng)域模型的角度來看,微應(yīng)用應(yīng)該是居于業(yè)務(wù)對(duì)象和聚合體之上的一個(gè)概念,也就是說其粒度要比聚合體更加粗一些,比業(yè)務(wù)用例也更加粗一些,是相對(duì)獨(dú)立的一個(gè)業(yè)務(wù)模塊。

從用戶角度看微應(yīng)用能夠提供用戶要求的某一組服務(wù),為企業(yè)創(chuàng)造一個(gè)明確的經(jīng)營價(jià)值,達(dá)成用戶的一個(gè)某個(gè)在經(jīng)營層面可見的目標(biāo)。

而作為對(duì)照,業(yè)務(wù)用例一般完成某個(gè)特定的功能,比如下單、客戶資料修改等,由于粒度過小不能提供一個(gè)經(jīng)營層面可見的價(jià)值。

4 微應(yīng)用和微服務(wù)的關(guān)系

微應(yīng)用和微服務(wù)都是相對(duì)獨(dú)立的單元,都具有高內(nèi)聚低耦合的特征,都有一個(gè)明確的邊界。但是二者是不同領(lǐng)域中的概念,從本質(zhì)上來說是兩個(gè)獨(dú)立的概念。

微應(yīng)用是一個(gè)業(yè)務(wù)概念,是有獨(dú)立功能,能夠滿足用戶一個(gè)完整業(yè)務(wù)需求的功能,能夠?qū)崿F(xiàn)一個(gè)經(jīng)營層面可見的目標(biāo)。微服務(wù)是一個(gè)IT實(shí)體,是能夠獨(dú)立開發(fā)、測(cè)試、部署、運(yùn)行的模塊,一般依托容器運(yùn)行。

微應(yīng)用和微服務(wù)沒有一一對(duì)應(yīng)的關(guān)系,有一個(gè)比較貼切的比喻:二者之間的關(guān)系就像領(lǐng)域模型中的業(yè)務(wù)實(shí)體和java對(duì)象之間的關(guān)系。往往一個(gè)微服務(wù)實(shí)現(xiàn)了幾個(gè)微應(yīng)用,也存在一個(gè)微應(yīng)用跨越幾個(gè)微服務(wù)的情景。

5 微應(yīng)用和微服務(wù)的劃分標(biāo)準(zhǔn)

引入微服務(wù)架構(gòu)的初衷是降低系統(tǒng)開發(fā)和實(shí)施過程中的復(fù)雜性,使得過程可控,因此從實(shí)用主義的角度,從系統(tǒng)生命周期中與系統(tǒng)關(guān)系最密切的幾類人員,即分析人員、設(shè)計(jì)人員、開發(fā)人員、運(yùn)維人員角度來說明微應(yīng)用和微服務(wù)的劃分原則,是比較有實(shí)用價(jià)值的。此種劃分方式比純粹學(xué)術(shù)上的研究要有指導(dǎo)意義的多,舉例來說業(yè)界曾有觀點(diǎn):微服務(wù)應(yīng)該細(xì)化到每個(gè)菜單作為一個(gè)微服務(wù)的程度,這個(gè)觀點(diǎn)明顯是脫離實(shí)際,為微而微,望文生義,極大地增加了運(yùn)維成本和管理成本,是非常教條的。

下面按照以上原則說明微應(yīng)用和微服務(wù)的劃分標(biāo)準(zhǔn)

5.1 微應(yīng)用的粒度

微應(yīng)用是處于子系統(tǒng)和業(yè)務(wù)用例之間的一個(gè)模塊級(jí)別,其雖然名稱中有“微”,但是不能過于小,否則徒增復(fù)雜性,對(duì)于架構(gòu)的優(yōu)化改進(jìn)沒有任何助力。

可以把能否提供一個(gè)“企業(yè)經(jīng)營管理層面可見的價(jià)值”作為識(shí)別微應(yīng)用的主要標(biāo)準(zhǔn)。同樣是對(duì)業(yè)務(wù)進(jìn)行模塊劃分,具體經(jīng)辦的業(yè)務(wù)人員和經(jīng)營管理人員的視角不同,粒度不同,業(yè)務(wù)人員從“做什么”入手,因此他們劃分出的單元往往是業(yè)務(wù)用例級(jí)別的,而經(jīng)營管理人員往往從“有什么用”角度入手,他們劃分出的業(yè)務(wù)模塊往往是粒度比業(yè)務(wù)用例稍大。

視角的不同,引起劃分標(biāo)準(zhǔn)和劃分結(jié)果的不同,前文已經(jīng)說了,微應(yīng)用應(yīng)該是比業(yè)務(wù)用例稍大的粒度,以經(jīng)營管理者的視角對(duì)業(yè)務(wù)進(jìn)行劃分,是微應(yīng)用的比較合理的劃分方法。

識(shí)別什么是微應(yīng)用,還與應(yīng)用系統(tǒng)的設(shè)計(jì)目標(biāo)和定位有關(guān),比如同樣是人力資源管理系統(tǒng),如果系統(tǒng)的重點(diǎn)在于員工檔案管理,則員工培訓(xùn)業(yè)務(wù)可以看做一個(gè)微應(yīng)用,但是對(duì)于以培訓(xùn)為重心的人資系統(tǒng),則把培訓(xùn)業(yè)務(wù)分解為多個(gè)微應(yīng)用更加合適。

5.2 微服務(wù)的粒度

劃分微服務(wù)的標(biāo)準(zhǔn)則有如下幾點(diǎn):

從設(shè)計(jì)角度:微服務(wù)應(yīng)該是高內(nèi)聚低耦合的,有明晰的界面,與外界盡量少的交互。

從開發(fā)角度,微服務(wù)應(yīng)該是一個(gè)小的團(tuán)隊(duì)、在短時(shí)間內(nèi)可以完成的,保持溝通的高效和管理的低成本。

從運(yùn)維的角度:微服務(wù)的粒度不能太小,種類不能太多,否則會(huì)使得系統(tǒng)復(fù)雜性和管理成本急劇上升,有違微服務(wù)架構(gòu)的初衷。

6 業(yè)務(wù)架構(gòu)的微應(yīng)用化和技術(shù)架構(gòu)的微服務(wù)化

按照架構(gòu)設(shè)計(jì)的有關(guān)實(shí)踐,系統(tǒng)架構(gòu)分為業(yè)務(wù)架構(gòu)、應(yīng)用架構(gòu)、技術(shù)架構(gòu)、數(shù)據(jù)架構(gòu)、安全架構(gòu)等幾部分。

如前文所述,微應(yīng)用是屬于業(yè)務(wù)架構(gòu)范疇的概念,微服務(wù)是屬于技術(shù)架構(gòu)范疇的概念。故在微服務(wù)架構(gòu)的實(shí)施過程中,實(shí)際上存在業(yè)務(wù)架構(gòu)的微應(yīng)用化和技術(shù)架構(gòu)的微服務(wù)化兩個(gè)方面的工作,而業(yè)界往往把二者混淆。

6.1 業(yè)務(wù)架構(gòu)的微應(yīng)用化

首先利用傳統(tǒng)的分析方法對(duì)企業(yè)全局范圍內(nèi)的業(yè)務(wù)進(jìn)行梳理,開發(fā)業(yè)務(wù)架構(gòu),然后再進(jìn)行重構(gòu)與整合,對(duì)業(yè)務(wù)進(jìn)行拆分,從中識(shí)別出微應(yīng)用,達(dá)到業(yè)務(wù)架構(gòu)的微應(yīng)用化。

微應(yīng)用化的主要工作是產(chǎn)生微應(yīng)用清單,定義微應(yīng)用的業(yè)務(wù)功能和業(yè)務(wù)邊界,規(guī)范跨越兩個(gè)或者多個(gè)微應(yīng)用的業(yè)務(wù),對(duì)于跨微應(yīng)用的業(yè)務(wù)盡量利用工作流等機(jī)制實(shí)現(xiàn)銜接,從業(yè)務(wù)層面避免技術(shù)實(shí)現(xiàn)時(shí)的分布式事務(wù)產(chǎn)生的可能性,降低實(shí)現(xiàn)和實(shí)施的復(fù)雜性。

6.2 技術(shù)架構(gòu)的微服務(wù)化

微服務(wù)化的根本原則就是降低設(shè)計(jì)、開發(fā)、測(cè)試、實(shí)施、運(yùn)維過程中的復(fù)雜性和成本,在微服務(wù)化實(shí)施過程中會(huì)遇到很多問題,其中最具爭議的就是微服務(wù)的粒度問題,只要遵循這個(gè)基本原則,則尺度就比較好把握。

微服務(wù)化架構(gòu)的實(shí)施涉及到設(shè)計(jì)、開發(fā)、部署、運(yùn)維等各個(gè)方面。

6.2.1 設(shè)計(jì)過程

微服務(wù)可以分為兩類:應(yīng)用層微服務(wù):實(shí)現(xiàn)了業(yè)務(wù)邏輯,可以認(rèn)為這部分微服務(wù)是微應(yīng)用的實(shí)現(xiàn),但沒有必要和微應(yīng)用一一對(duì)應(yīng)。

基礎(chǔ)層微服務(wù):實(shí)現(xiàn)了公共設(shè)施和公共模塊。

設(shè)計(jì)過程是在業(yè)務(wù)微應(yīng)用化的基礎(chǔ)上展開的,但是微應(yīng)用和微服務(wù)不必要一一對(duì)應(yīng),微服務(wù)的設(shè)計(jì)過程就是需要對(duì)業(yè)務(wù)進(jìn)行拆分和分層:拆分:參照微應(yīng)用進(jìn)行拆分,構(gòu)建應(yīng)用層微服務(wù)集群。分層:梳理和抽取核心應(yīng)用、公共應(yīng)用,作為獨(dú)立的服務(wù)下沉到核心和公共能力層。

當(dāng)然設(shè)計(jì)過程中還要解決很多其他問題,如服務(wù)注冊(cè)、服務(wù)注冊(cè)、服務(wù)間通訊機(jī)制等問題。

6.2.2 開發(fā)過程

開發(fā)過程中首要原則就是接口先行,面向接口編程,首先需要把接口識(shí)別和定義出來,然后雙方基于接口進(jìn)行開發(fā),合理控制團(tuán)隊(duì)規(guī)模和開發(fā)周期,降低管理成本,提升產(chǎn)能。

6.2.3 部署過程

部署過程要利用工具進(jìn)行自動(dòng)化部署。

部署原則:容器化、獨(dú)立部署、基礎(chǔ)設(shè)施自動(dòng)化。

6.2.4 運(yùn)維過程

運(yùn)維過程要充分利用工具實(shí)現(xiàn)自動(dòng)化運(yùn)維。

主站蜘蛛池模板: 亚洲av无码片一区二区三区| 亚洲综合经典在线一区二区| 欧美亚洲一区二区三区在线| 日本一区高清| 免费一级无码在线网站| 97国产精品视频人人做人人爱| 久久国产精品波多野结衣| 成人午夜免费观看| 成人免费视频一区二区三区| 99精品免费在线| 亚洲综合亚洲国产尤物| 九九线精品视频在线观看| 永久免费AⅤ无码网站在线观看| 中文字幕av一区二区三区欲色| 99精品免费在线| 亚洲AV永久无码精品古装片| 亚洲最新地址| 有专无码视频| 亚洲中文字幕无码mv| 黄色网站不卡无码| 在线另类稀缺国产呦| 亚洲高清无码久久久| 精品久久久久久中文字幕女| 久久人午夜亚洲精品无码区| 91欧美在线| 欧美全免费aaaaaa特黄在线| 国产午夜无码片在线观看网站| 亚洲最新在线| 国产精品成人久久| 亚洲黄网视频| 成人在线欧美| 在线a视频免费观看| 美女潮喷出白浆在线观看视频| 五月天香蕉视频国产亚| 国产AV毛片| 精品伊人久久大香线蕉网站| 久久免费观看视频| 精品国产香蕉伊思人在线| 国产在线一二三区| 天天色综网| 永久免费无码日韩视频| 综1合AV在线播放| 久久人妻xunleige无码| 亚洲欧美色中文字幕| 女人18毛片一级毛片在线 | 国产超薄肉色丝袜网站| a色毛片免费视频| 亚洲人成网站在线观看播放不卡| 99视频在线观看免费| 国产福利小视频高清在线观看| 国产精品视屏| 国产精品一区不卡| 国产精品香蕉| 91精品福利自产拍在线观看| 丁香婷婷综合激情| 99热线精品大全在线观看| 亚洲经典在线中文字幕| 91区国产福利在线观看午夜| 亚洲一区色| 亚洲中文字幕久久精品无码一区| 亚洲视频三级| 夜夜高潮夜夜爽国产伦精品| 国产91线观看| 亚洲第一成年网| 欧美日韩中文国产va另类| 好紧太爽了视频免费无码| 日韩av无码DVD| 中文字幕va| 日本精品αv中文字幕| 午夜福利视频一区| 在线观看亚洲精品福利片| 精品色综合| 久久永久精品免费视频| 亚洲一区二区成人| 亚洲国模精品一区| 成人av手机在线观看| 99re这里只有国产中文精品国产精品 | 欧美成人A视频| 欧美精品在线观看视频| 中文字幕在线看| 国产精品私拍在线爆乳| 一区二区午夜|