官术网_书友最值得收藏!

3.3 合理劃分微服務(wù)

微服務(wù)架構(gòu)設(shè)計(jì)的首要任務(wù)就是合理劃分微服務(wù),即圍繞業(yè)務(wù)功能創(chuàng)建微服務(wù)項(xiàng)目。在劃分微服務(wù)時(shí),有關(guān)微服務(wù)粗細(xì)粒度的考量,建議在平臺(tái)創(chuàng)建的初始階段使用粗粒度的方法,按業(yè)務(wù)功能進(jìn)行劃分。隨著業(yè)務(wù)的發(fā)展及其運(yùn)營(yíng)的情況,再依據(jù)發(fā)展規(guī)模考慮是否繼續(xù)細(xì)分。下面,我們將使用水平劃分法和垂直劃分法兩種方法相結(jié)合的方式創(chuàng)建微服務(wù)。

一方面,在水平方向上,根據(jù)業(yè)務(wù)功能劃分微服務(wù),并把這次劃分所創(chuàng)建的微服務(wù)稱為REST API微服務(wù)。REST API微服務(wù)負(fù)責(zé)業(yè)務(wù)功能的行為設(shè)計(jì),主要完成數(shù)據(jù)管理方面的工作,并通過(guò)使用REST協(xié)議,對(duì)外提供接口服務(wù)。

另一方面,在垂直方向上,再以REST API微服務(wù)為基礎(chǔ),實(shí)現(xiàn)前后端分離設(shè)計(jì),創(chuàng)建Web UI微服務(wù)。Web UI微服務(wù)不直接訪問(wèn)數(shù)據(jù),它只專注于人機(jī)交互界面的設(shè)計(jì),它的數(shù)據(jù)存取將通過(guò)調(diào)用REST API微服務(wù)來(lái)完成。

這樣,經(jīng)過(guò)兩次微服務(wù)劃分,我們就可以創(chuàng)建出REST API和Web UI兩種類(lèi)型的微服務(wù)。也就是說(shuō),我們只要使用兩種類(lèi)型的微服務(wù),就可以構(gòu)建一個(gè)復(fù)雜的業(yè)務(wù)系統(tǒng)。

使用REST API和Web UI微服務(wù),結(jié)合高性能和高并發(fā)的設(shè)計(jì),再通過(guò)微服務(wù)的多副本發(fā)布,就可以構(gòu)建一個(gè)能適應(yīng)任何規(guī)模訪問(wèn)的、多維的、穩(wěn)定牢固的網(wǎng)格結(jié)構(gòu),并且這個(gè)網(wǎng)格結(jié)構(gòu)還具有自由伸縮的特性,可以根據(jù)業(yè)務(wù)的發(fā)展規(guī)模進(jìn)行擴(kuò)充或者縮編,這樣就可以快速地搭建一個(gè)可持續(xù)擴(kuò)展的系統(tǒng)平臺(tái)。

主站蜘蛛池模板: 泉州市| 师宗县| 唐海县| 宁德市| 赤水市| 白沙| 佛教| 高唐县| 梁山县| 祁东县| 长泰县| 紫阳县| 鄂温| 满洲里市| 二连浩特市| 左云县| 贺州市| 阜平县| 泊头市| 石嘴山市| 三门县| 许昌市| 巴林左旗| 丹江口市| 广安市| 湟中县| 乌鲁木齐县| 株洲市| 获嘉县| 曲沃县| 定结县| 县级市| 达日县| 绥阳县| 永胜县| 乌海市| 平山县| 石屏县| 迁西县| 昌邑市| 自治县|