自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

六種常用的微服務(wù)架構(gòu)設(shè)計(jì)模式

開發(fā) 架構(gòu)
簡單地說,API主導(dǎo)的連接方法可以被看作是API設(shè)計(jì)的一種分層方法(至少在本文中是這樣)。其中,系統(tǒng)API公開系統(tǒng)的資產(chǎn)數(shù)據(jù)信息;中間的是流程API,與系統(tǒng)API一起進(jìn)行編排和組合;頂端的體驗(yàn)API公開來自后端數(shù)據(jù)源的數(shù)據(jù),提供最終用戶體驗(yàn)。

 簡單地說,API主導(dǎo)的連接方法可以被看作是API設(shè)計(jì)的一種分層方法(至少在本文中是這樣)。其中,系統(tǒng)API公開系統(tǒng)的資產(chǎn)數(shù)據(jù)信息;中間的是流程API,與系統(tǒng)API一起進(jìn)行編排和組合;頂端的體驗(yàn)API公開來自后端數(shù)據(jù)源的數(shù)據(jù),提供最終用戶體驗(yàn)。這種API分層方法與細(xì)粒度SOA模式很好地結(jié)合在一起,通常,這兩者要么可以共存,要么細(xì)粒度SOA模式演化成基于細(xì)粒度SOA的分層API模式。

[[272552]]

 

API主導(dǎo)的連接方法為細(xì)粒度SOA模式提供了一些層次結(jié)構(gòu),這些層次結(jié)構(gòu)允許對(duì)API或微服務(wù)進(jìn)行一致的管理和治理。然而,基于細(xì)粒度SOA的分層API模式也存在一些與細(xì)粒度SOA 模式類似的深層問題(這很直觀):

在細(xì)粒度SOA模式執(zhí)行單個(gè)API調(diào)用的地方,基于細(xì)粒度SOA的分層API模式現(xiàn)在必須通過層執(zhí)行多個(gè)調(diào)用。從“網(wǎng)絡(luò)跳數(shù)”的角度來看,這種模式可能是低效的。但是,基于細(xì)粒度SOA的分層API模式中,層次結(jié)構(gòu)的存在并不強(qiáng)制跨越網(wǎng)絡(luò)來調(diào)用每個(gè)API。直接的跨層調(diào)用,而不是通過網(wǎng)絡(luò)調(diào)用是完全有效的;分層的目的是為了增加靈活性,同時(shí)以一種很好地分離關(guān)注點(diǎn)的方式構(gòu)建體系架構(gòu)。

 

在細(xì)粒度SOA模式管理大量服務(wù)的地方,使用分層API將會(huì)管理來自多個(gè)層次的大量細(xì)粒度服務(wù)。您的管理工具可能不再像以前那樣有效,因?yàn)樗鼈兛赡軣o法可視化復(fù)雜的微服務(wù)視圖。

最終應(yīng)用程序的數(shù)據(jù)存儲(chǔ)一致性在分層API模式下實(shí)際上得到了改善,因?yàn)樵L問數(shù)據(jù)的服務(wù)都是有組織,且集中地查詢或修改應(yīng)用程序的狀態(tài)。(例如:系統(tǒng)API)

實(shí)際上,對(duì)于大多數(shù)企業(yè)來說,基于細(xì)粒度SOA的分層API模式是一個(gè)很好的模式,但是,就像細(xì)粒度SOA模式一樣,在實(shí)踐過程中會(huì)出現(xiàn)困難。然而,這種困難通常在大范圍使用時(shí)才會(huì)顯現(xiàn)出來。因此,只有在預(yù)期或正在經(jīng)歷大規(guī)模的使用時(shí),我們才應(yīng)該準(zhǔn)備其他的模式。

問題:

沒有一定層次結(jié)構(gòu)的微服務(wù)架構(gòu)是很難進(jìn)行合理解釋的,因?yàn)闆]有明顯的方法來對(duì)每個(gè)微服務(wù)的用途進(jìn)行分類和可視化。

解決方案:

通過創(chuàng)建按用途分組的分層API(系統(tǒng)層、流程及領(lǐng)域模型層,以及體驗(yàn)層),您可以更容易地管理微服務(wù)架構(gòu)的復(fù)雜性。

應(yīng)用:

將微服務(wù)架構(gòu)分為多個(gè)層。通常情況下,可以使用標(biāo)準(zhǔn)化,并具有類似用途的一組微服務(wù)以類似的方式工作,從而進(jìn)一步使微服務(wù)架構(gòu)的復(fù)雜性合理化。

影響:

1.通過標(biāo)準(zhǔn)化和進(jìn)一步分解微服務(wù)架構(gòu),可以提高快速變更的能力。

2.由于更專門化的層次結(jié)構(gòu),進(jìn)程間服務(wù)調(diào)用的數(shù)量可能增加。

3.需要對(duì)服務(wù)監(jiān)控和可視化工具進(jìn)行檢查,以確定它們是否能夠正確地與分層架構(gòu)一起工作。

目標(biāo):

1.快速的敏捷變更。

2.可伸縮性:理論上通過基于細(xì)粒度SOA的分層API模式可以提高可伸縮性,但實(shí)際上,除非有支持自動(dòng)化的基礎(chǔ)設(shè)施,否則可伸縮性往往會(huì)降低。

主要特點(diǎn):

1.為了實(shí)現(xiàn)快速變更,可能存在低效的IPC(Inter-Process Communication,進(jìn)程間通信)。

2.數(shù)據(jù)一致性和狀態(tài)管理能力較差,但允許高度重用。重用本身會(huì)抵消變更的速度。

3.由于與現(xiàn)存模式的相似性,已有的問題往往同樣會(huì)出現(xiàn)。

4.基于細(xì)粒度SOA的分層API模式在小范圍內(nèi)使用效果很好,在大規(guī)模情況下會(huì)出現(xiàn)困難。

5.由于采用了結(jié)構(gòu)化的體系架構(gòu)方法,所以具有很高的內(nèi)聚性。

6.重點(diǎn)放在服務(wù)顆粒度要細(xì),但通常沒有考慮其能力。

7.基于細(xì)粒度SOA的分層API模式以集成為導(dǎo)向,每個(gè)微服務(wù)依賴于外部系統(tǒng)。這將會(huì)降低變更的速度。

 

基于細(xì)粒度SOA的分層API模式如何與SOA或API等現(xiàn)有系統(tǒng)共存?

基于細(xì)粒度SOA的分層API模式往往是與現(xiàn)有IT資產(chǎn)共存的最佳方式。由于分層減少了每個(gè)微服務(wù)的范圍,并約束了其用途,因此該模式能夠在不明顯降低變更速度的情況下,最好地連接和利用現(xiàn)有IT系統(tǒng)。然而,通過細(xì)粒度和分層的設(shè)計(jì)來協(xié)調(diào)變更可能是一個(gè)挑戰(zhàn)。您可能需要使用一定的技術(shù)手段來管理所有不同微服務(wù)之間的契約,或者使用完全自動(dòng)化的測(cè)試技術(shù)來確保變更不會(huì)造成破壞。

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2024-01-05 13:25:00

架構(gòu)架構(gòu)模式開發(fā)

2020-10-19 13:05:32

架構(gòu)模式

2021-09-14 11:26:22

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

2020-05-14 14:48:15

架構(gòu)模式單庫

2023-09-05 09:54:28

服務(wù)器網(wǎng)絡(luò)

2022-08-14 07:04:44

微服務(wù)架構(gòu)設(shè)計(jì)模式

2022-08-08 13:55:47

通信設(shè)計(jì)模式微服務(wù)

2022-08-07 22:11:25

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

2016-01-15 17:36:29

云計(jì)算云應(yīng)用

2012-10-15 13:26:31

云計(jì)算架構(gòu)

2023-09-06 11:35:11

2022-04-23 16:58:24

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

2019-11-07 11:49:14

架構(gòu)運(yùn)維技術(shù)

2017-10-20 11:07:45

編程代碼編程模式

2024-05-28 08:31:46

2024-04-11 09:13:17

設(shè)計(jì)模式開發(fā)

2020-08-07 09:41:00

微服務(wù)架構(gòu)數(shù)據(jù)

2019-12-03 12:16:36

物聯(lián)網(wǎng)ZigBee藍(lán)牙低功耗

2025-03-17 08:07:11

2022-08-12 06:26:54

微服務(wù)架構(gòu)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)