国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

南寧中小企業(yè)網(wǎng)站制作許昌seo公司

南寧中小企業(yè)網(wǎng)站制作,許昌seo公司,青海建設(shè)云網(wǎng)站,做網(wǎng)站怎么投放廣告目錄 1、概述 2、整潔架構(gòu) 3、六邊形架構(gòu) 4、三種微服務(wù)架構(gòu)模型的對比和分析 5、從三種架構(gòu)模型看中臺和微服務(wù)設(shè)計 5.1 中臺建設(shè)要聚焦領(lǐng)域模型 5.2 微服務(wù)要有合理的架構(gòu)分層 5.2.1 項目級微服務(wù) 5.2.2 企業(yè)級中臺微服務(wù) 5.3 應(yīng)用和資源的解耦與適配 6、總結(jié) 1、概…

目錄

1、概述

2、整潔架構(gòu)

3、六邊形架構(gòu)

4、三種微服務(wù)架構(gòu)模型的對比和分析

5、從三種架構(gòu)模型看中臺和微服務(wù)設(shè)計

5.1 中臺建設(shè)要聚焦領(lǐng)域模型

5.2 微服務(wù)要有合理的架構(gòu)分層

5.2.1 項目級微服務(wù)

5.2.2 企業(yè)級中臺微服務(wù)

5.3 應(yīng)用和資源的解耦與適配

6、總結(jié)


1、概述

DDD分層架構(gòu)、整潔架構(gòu)、六邊形架構(gòu)這三種架構(gòu)模型放到一起,對比分析,看看如何利用好它

們,幫助我們設(shè)計出高內(nèi)聚低耦合的中臺以及微服務(wù)架構(gòu)。

2、整潔架構(gòu)

整潔架構(gòu)又名“洋蔥架構(gòu)”。整潔架構(gòu)的層就像洋蔥片一樣,它體現(xiàn)了分層的設(shè)計思想。

在整潔架構(gòu)里,同心圓代表應(yīng)用軟件的不同部分,從里到外依次是領(lǐng)域模型、領(lǐng)域服務(wù)、應(yīng)用服務(wù)

和最外圍的容易變化的內(nèi)容,比如用戶界面和基礎(chǔ)設(shè)施。

整潔架構(gòu)最主要的原則是依賴原則,它定義了各層的依賴關(guān)系,越往里依賴越低,代碼級別越高,

越是核心能力。

外圓代碼依賴只能指向內(nèi)圓,內(nèi)圓不需要知道外圓的任何情況。

領(lǐng)域模型實現(xiàn)領(lǐng)域內(nèi)核心業(yè)務(wù)邏輯,它封裝了企業(yè)級的業(yè)務(wù)規(guī)則。領(lǐng)域模型的主體是實體,一個實

體可以是一個帶方法的對象,也可以是一個數(shù)據(jù)結(jié)構(gòu)和方法集合。

應(yīng)用服務(wù)實現(xiàn)與用戶操作相關(guān)的服務(wù)組合與編排,它包含了應(yīng)用特有的業(yè)務(wù)流程規(guī)則,封裝和實現(xiàn)

了系統(tǒng)所有用例。

最外層主要提供適配的能力,適配能力分為主動適配和被動適配。主動適配主要實現(xiàn)外部用戶、網(wǎng)

頁、批處理和自動化測試等對內(nèi)層業(yè)務(wù)邏輯訪問適配。被動適配主要是實現(xiàn)核心業(yè)務(wù)邏輯對基礎(chǔ)資

源訪問的適配,比如數(shù)據(jù)庫、緩存、文件系統(tǒng)和消息中間件等。

紅圈內(nèi)的領(lǐng)域模型、領(lǐng)域服務(wù)和應(yīng)用服務(wù),一起組成軟件核心業(yè)務(wù)能力

3、六邊形架構(gòu)

六邊形架構(gòu)又名“端口適配器架構(gòu)”。

六邊形架構(gòu)的核心理念是:應(yīng)用是通過端口與外部進(jìn)行交互的。這也是微服務(wù)架構(gòu)下API網(wǎng)關(guān)盛行

的主要原因吧。

也就是說,在下圖的六邊形架構(gòu)中,紅圈內(nèi)的核心業(yè)務(wù)邏輯(應(yīng)用程序和領(lǐng)域模型)與外部資源

(包括 APP、Web 應(yīng)用以及數(shù)據(jù)庫資源等)完全隔離,僅通過適配器進(jìn)行交互。它解決了業(yè)務(wù)邏

輯與用戶界面的代碼交錯問題,很好地實現(xiàn)了前后端分離。六邊形架構(gòu)各層的依賴關(guān)系與整潔架構(gòu)

一樣,都是由外向內(nèi)依賴。

六邊形架構(gòu)將系統(tǒng)分為內(nèi)六邊形和外六邊形兩層,這兩層的職能劃分如下:

紅圈內(nèi)的六邊形,實現(xiàn)應(yīng)用的核心業(yè)務(wù)邏輯

外六邊形完成外部應(yīng)用、驅(qū)動和基礎(chǔ)資源等的交互和訪問,對前端應(yīng)用以API主動適配的方式提供

服務(wù),對基礎(chǔ)資源以依賴倒置被動適配的方式實現(xiàn)資源訪問。

六邊形架構(gòu)的一個端口可能對應(yīng)多個外部系統(tǒng),不同的外部系統(tǒng)也可能會使用不同的適配器,由適

配器負(fù)責(zé)協(xié)議轉(zhuǎn)換。這就使得應(yīng)用程序能夠以一致的方式被用戶、程序、自動化測試和批處理腳本

使用。

4、三種微服務(wù)架構(gòu)模型的對比和分析

這三種架構(gòu)模型的設(shè)計思想正是微服務(wù)架構(gòu)高內(nèi)聚低耦合原則的完美體現(xiàn),而它們身上閃耀的正是

領(lǐng)域模型為中心的設(shè)計思想。

按照這種功能的差異,我們在這三種架構(gòu)中劃分了應(yīng)用層和領(lǐng)域?qū)?/strong>,來承擔(dān)不同的業(yè)務(wù)邏輯。

領(lǐng)域?qū)訉崿F(xiàn)面向領(lǐng)域模型,實現(xiàn)領(lǐng)域模型的核心業(yè)務(wù)邏輯,屬于原子模型,它需要保持領(lǐng)域模型和

業(yè)務(wù)邏輯的穩(wěn)定,對外提供穩(wěn)定的細(xì)粒度的領(lǐng)域服務(wù),所以它處于架構(gòu)的核心位置。

應(yīng)用層實現(xiàn)面向用戶操作相關(guān)的用例和流程,對外提供粗粒度的API服務(wù)。

可以說,這三種架構(gòu)都考慮了前端需求的變與領(lǐng)域模型的不變。

總體來說,不管前端如何變化,在企業(yè)沒有大的變革的情況下,核心領(lǐng)域邏輯基本不會大變,所以

領(lǐng)域模型相對穩(wěn)定,而用例和流程則會隨著外部應(yīng)用需求而隨時調(diào)整。把握好這個規(guī)律,我們就知

道該如何設(shè)計應(yīng)用層和領(lǐng)域?qū)恿恕?/p>

架構(gòu)模型通過分層的方式來控制需求變化從外到里對系統(tǒng)的影響,從外向里受需求影響逐步減小。

這樣設(shè)計的好處很明顯了,就是可以保證領(lǐng)域?qū)拥暮诵臉I(yè)務(wù)邏輯不會因為外部需求和流程的變動而

調(diào)整,對于建立前臺靈活、中臺穩(wěn)固的架構(gòu)很有幫助。

中臺和微服務(wù)設(shè)計的關(guān)鍵:領(lǐng)域模型和微服務(wù)的合理分層設(shè)計。

5、從三種架構(gòu)模型看中臺和微服務(wù)設(shè)計

中臺本質(zhì)上是領(lǐng)域的子域,它可能是核心域,也可能是通用域或支撐域。通常大家認(rèn)為阿里的中臺

對應(yīng)DDD的通用域,將通用的公共能力沉淀為中臺,對外提供通用共享服務(wù)。

中臺作為子域還可以繼續(xù)分解為子子域,在子域分解到合適大小,通過事件風(fēng)暴劃分限界上下文以

后,就可以定義微服務(wù)了,微服務(wù)用來實現(xiàn)中臺的能力。表面上看,DDD、中臺、微服務(wù)這三者

之間似乎沒什么關(guān)聯(lián),實際上它們的關(guān)系是非常緊密的,組合在一起可以作為一個理論體系用于你

的中臺和微服務(wù)設(shè)計

5.1 中臺建設(shè)要聚焦領(lǐng)域模型

中臺需要站在全企業(yè)的高度,考慮能力的共享和復(fù)用。

中臺設(shè)計時,我們需要建立中臺內(nèi)所有限界上下文的領(lǐng)域模型,DDD 建模過程中會考慮架構(gòu)演進(jìn)

和功能的重新組合。領(lǐng)域模型建立的過程會對業(yè)務(wù)和應(yīng)用進(jìn)行清晰的邏輯和物理邊界(微服務(wù))劃

分。領(lǐng)域模型的結(jié)果會影響到后續(xù)的系統(tǒng)模型、架構(gòu)模型和代碼模型,最終影響到微服務(wù)的拆分和

項目落地。

因此,在中臺設(shè)計中我們首先要聚焦領(lǐng)域模型,將它放在核心位置。

5.2 微服務(wù)要有合理的架構(gòu)分層

微服務(wù)設(shè)計要有分層的設(shè)計思想,讓各層各司其職,建立松耦合的層間關(guān)系。

不要把與領(lǐng)域無關(guān)的邏輯放在領(lǐng)域?qū)訉崿F(xiàn),保證領(lǐng)域?qū)拥募儩嵑皖I(lǐng)域邏輯的穩(wěn)定,避免污染領(lǐng)域模

型。也不要把領(lǐng)域模型的業(yè)務(wù)邏輯放在應(yīng)用層,這樣會導(dǎo)致應(yīng)用層過于龐大,最終領(lǐng)域模型會失

焦。如果實在無法避免,我們可以

引入防腐層,進(jìn)行新老系統(tǒng)的適配和轉(zhuǎn)換,過渡期完成后,可以直接將防腐層代碼拋棄。

有的微服務(wù)可以與前端應(yīng)用集成,一起完成特定的業(yè)務(wù),這是項目級微服務(wù)。而有的則是某個職責(zé)

單一的中臺微服務(wù),企業(yè)級的業(yè)務(wù)流程需要將多個這樣的微服務(wù)組合起來才能完成,這是企業(yè)級中

臺微服務(wù)。兩類微服務(wù)由于復(fù)雜度不一樣,集成方式也會有差異。

5.2.1 項目級微服務(wù)

項目級微服務(wù)的內(nèi)部,遵循分層架構(gòu)模型就可以了。

領(lǐng)域模型的核心邏輯在領(lǐng)域?qū)訉崿F(xiàn),服務(wù)的組合和編排在應(yīng)用層實現(xiàn),通過API網(wǎng)關(guān)為前臺應(yīng)用提

供服務(wù),實現(xiàn)前后端分離。但項目級的微服務(wù),可能會調(diào)用其它微服務(wù)。通常項目級微服務(wù)之間的

集成,發(fā)生在微服務(wù)的應(yīng)用層,由應(yīng)用服務(wù)調(diào)用其它微服務(wù)發(fā)布在API網(wǎng)關(guān)上的應(yīng)用服務(wù)。

它除了可以組合和編排自己的領(lǐng)域服務(wù)外,還可以組合和編排外部微服務(wù)的應(yīng)用服務(wù)。它只要將編

排后的服務(wù)發(fā)布到API網(wǎng)關(guān)供前端調(diào)用,這樣前端就可以直接訪問自己的微服務(wù)了。

5.2.2 企業(yè)級中臺微服務(wù)

企業(yè)級的業(yè)務(wù)流程,往往是多個中臺微服務(wù)一起協(xié)作完成的。

企業(yè)級中臺微服務(wù)的集成不能像項目級微服務(wù)一樣,在某一個微服務(wù)內(nèi)完成跨微服務(wù)的服務(wù)組合和

編排。

我們可以在中臺微服務(wù)之上增加一層,增加的這一層它的主要職能就是處理跨中臺微服務(wù)的服務(wù)組

合和編排,以及微服務(wù)之間的協(xié)調(diào),它還可以完成前端不同渠道應(yīng)用的適配。如果再將它的業(yè)務(wù)范

圍擴(kuò)大一些,我可以將它做成一個面向不同行業(yè)和渠道的服務(wù)平臺。

我們借用BFF(服務(wù)于前端的后端,Backend for Frontends)這個詞,暫且稱它為BFF 微服務(wù)。

BFF微服務(wù)與其它微服務(wù)存在較大的差異,就是它沒有領(lǐng)域模型,因此這個微服務(wù)內(nèi)也不會有領(lǐng)域

。BFF微服務(wù)可以承擔(dān)應(yīng)用層和用戶接口層的主要職能,完成各個中臺微服務(wù)的服務(wù)組合和編

排,可以適配不同前端和渠道的要求。

5.3 應(yīng)用和資源的解耦與適配

傳統(tǒng)以數(shù)據(jù)為中心的設(shè)計模式,應(yīng)用會對數(shù)據(jù)庫、緩存、文件系統(tǒng)等基礎(chǔ)資源產(chǎn)生嚴(yán)重依賴。

正是由于它們之間的這種強(qiáng)依賴的關(guān)系,我們一旦更換基礎(chǔ)資源就會對應(yīng)用產(chǎn)生很大的影響,因此

需要為應(yīng)用和資源解耦。

在微服務(wù)架構(gòu)中,應(yīng)用層、領(lǐng)域?qū)雍突A(chǔ)層解耦是通過倉儲模式,采用依賴倒置的設(shè)計方法來實現(xiàn)

的。在應(yīng)用設(shè)計中,我們會同步考慮和基礎(chǔ)資源的代碼適配,那么一旦基礎(chǔ)設(shè)施資源出現(xiàn)變更(比

如換數(shù)據(jù)庫),就可以屏蔽資源變更對業(yè)務(wù)代碼的影響,切斷業(yè)務(wù)邏輯對基礎(chǔ)資源的依賴,最終降

低資源變更對應(yīng)用的影響。

6、總結(jié)

DDD分層架構(gòu)、整潔架構(gòu)、六邊形架構(gòu)都是以領(lǐng)域模型為核心,實行分層架構(gòu),內(nèi)部核心業(yè)務(wù)邏

輯與外部應(yīng)用、資源隔離并解耦。請務(wù)必記好這個設(shè)計思想,今后會有大用處。

http://aloenet.com.cn/news/28663.html

相關(guān)文章:

  • 管理網(wǎng)站開發(fā)教程semseo是什么意思
  • 百度網(wǎng)頁版在線使用網(wǎng)站整站優(yōu)化公司
  • 淘寶客怎么建網(wǎng)站網(wǎng)站后臺管理系統(tǒng)
  • 廣西城鄉(xiāng)和住房建設(shè)廳網(wǎng)站黃頁推廣
  • 網(wǎng)站主機(jī)和空間360搜索引擎地址
  • 洛陽網(wǎng)站建設(shè)首選洛陽銘信科技佛山seo按效果付費
  • 用帝國cms做網(wǎng)站2022年新聞?wù)畻l
  • 加工鋼球網(wǎng)架公司西安seo教程
  • wordpress站點logo設(shè)置河北疫情最新情況
  • 建設(shè)門戶網(wǎng)站的申請網(wǎng)站推廣是做什么的
  • 直播教育網(wǎng)站建設(shè)注冊網(wǎng)站平臺要多少錢
  • 什么網(wǎng)站可以做投票愛站查詢工具
  • 付費推廣網(wǎng)站網(wǎng)絡(luò)營銷論文題目
  • 建設(shè)銀行曲江支行網(wǎng)站優(yōu)化分析
  • 沒備案的網(wǎng)站怎么做淘客做百度推廣員賺錢嗎
  • 服裝網(wǎng)站建設(shè)進(jìn)度及實施過程百度營銷app
  • 怎么做網(wǎng)站管理系統(tǒng)寧波網(wǎng)站推廣方案
  • 撫州做網(wǎng)站的公司網(wǎng)站推廣系統(tǒng)方案
  • 寶安網(wǎng)站制作網(wǎng)站建設(shè)太原網(wǎng)站制作優(yōu)化seo公司
  • 怎么在網(wǎng)站上做簽到建設(shè)網(wǎng)站制作公司
  • 河南建設(shè)教育中心網(wǎng)站免費域名空間申請網(wǎng)址
  • 個人網(wǎng)站實例深圳優(yōu)化公司義高粱seo
  • 杭州做網(wǎng)站公司怎么制作網(wǎng)頁鏈接
  • 怎么搭建網(wǎng)站后臺怎么找到精準(zhǔn)客戶資源
  • 建設(shè)網(wǎng)站服務(wù)器 知乎網(wǎng)站自助搭建
  • 做參考資料的網(wǎng)站seo 優(yōu)化一般包括哪些內(nèi)容
  • 公司網(wǎng)站優(yōu)化推廣方案青島模板建站
  • 做的網(wǎng)站百度上可以搜到嗎百度seo課程
  • 個人怎么做動漫短視頻網(wǎng)站怎么制作網(wǎng)頁
  • wordpress域名 文件夾seo推廣哪家公司好