精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

構建前瞻性應用架構的優秀實踐

譯文 精選
開發 架構
本文總結了一些值得您遵循的應用架構優秀實踐,以便您構建出結構化的、可擴展的應用架構。

【51CTO.com快譯】不知道您是否聽說過“軟件架構師最討厭意大利面”這個梗?它是指軟件架構師在設計應用系統時,應當在匹配業務概念的基礎上,開發出清晰的架構與流程,避免出現各種在邏輯上相互纏繞,模塊與層面關系定義不清,各個功能彼此交織,進而形成難以被運維的“意面式架構(spaghetti architecture)”。下面,我將總結一些值得您遵循的應用架構優秀實踐,以便您構建出結構化的、可擴展的應用架構。

為什么應用架構如此重要?

通常,應用架構包含了所有的軟件模塊、組件、內/外部系統、以及構成應用之間的交互關系。顯然,結構良好的應用架構,可以確保您的應用能夠根據業務和用戶的需求進行預期的擴展。同時,好的架構既能夠合理地隔離不同的功能概念,又可以在內/外部形成良好的依賴關系。

相反,如下圖所示,如果您在針對各種需求的初期設計時,以及后期的變更中,忽略了對于應用架構的合理構建與維護,那么將會導致不同組件之間,依賴關系的錯綜復雜,甚至難以同步與管理。 

 

那么在實際項目中,意面式的架構到底會給我們的系統帶來哪些危害呢?

  • 服務抽象性差:如果未能圍繞著核心業務概念,實現正確地隔離和抽象,那么服務就會在不同系統之間分散各種業務規則,進而降低代碼的結構化和可重用的程度。
  • 難以管理的依賴關系:當組件之間無法被恰當地隔離時,任何針對系統的修改或替換操作,都會產生滾雪球式的效應。也就是說,某一部分的更改,會影響到與之相關聯的所有依賴關系。
  • 僵化且運行緩慢的舊系統:如果系統本身就很復雜且不靈活,那么我們就需要花費更長的時間,通過調整來適應新的業務變化。而且,如果所用到的技術已經過時,那么隨著時間的推移,核心數據與系統會對過時的技術,累積深度的依賴性,從而導致技術更新變得難上加難。

如何構建可擴展的應用架構?

為了構建可靠且可擴展的應用架構,您需要基于嚴格的定義原則和完善的設計概念。顯然,我們的目標是:既需要支持快速的業務增長和大規模的擴容需求,又需要降低部署的難度并避免高昂的代碼維護成本。因此,我們可以從如下方面考慮應用架構的設計:

  • 在所有項目參與者之間達成共識。
  • 支持定義和計劃。
  • 持續進行變更。
  • 管理好系統的復雜性。
  • 管控與降低風險。
  • 最大限度地減少技術債務(這是任何前瞻性應用架構的最終目標)。

在此,我們引入一個架構畫布(Architecture Canvas)概念。作為一個支持和加速架構設計的多層框架,它可以促進對可重用的服務和組件進行抽象。通過保留相對獨立的生命周期,架構畫布可以最大程度地減少變更所帶來的影響,進而使得應用架構更易于維護和擴展。

架構畫布的邏輯組成如上圖所示。其中,從下往上分別是:

  • 基礎層:在該層中,您可以實現所有可重用的非功能性需求。例如:連接到外部系統,或者使用可重用的UI模式與主題庫,來擴展現有的框架服務。
  • 核心層:在該層中,您可以實現各種核心的業務服務。例如:各種圍繞著業務概念的服務、業務規則、業務實體、業務交易和業務部件等。您需要讓這些服務獨立于目標系統,并根據基礎服務來抽象出任何可能的整合信息??梢?,通過基礎層和核心層,您已經隔離出了所有可重用的服務或組件。
  • 最終用戶層:在該層中,您可以通過使用基礎與核心層的服務,來支持用戶界面,以及與用戶交互的流程。值得注意的是:為了確保整個生命周期的獨立性,處于該層面上的模塊,不應為其他模塊提供服務。

架構的驗證

為確保設計架構的合理性,且不會產生“意面式”的爛尾,下面我將為您提供一些可以遵循的準則和建議。

1.不要帶有橫跨三個層面的向上引用

鑒于前文提到的結構化分層,我們顯然不應該讓與業務無關的基礎服務,去依賴核心業務;也不應該讓可重用的服務,依賴各種最終用戶的接口。此外,向上引用往往會產生一個群集。如下圖所示,在該群集中,存在直接或間接鏈接關系的任何兩個模塊,都具有循環依賴性。

在上圖中,由于模塊B可以間接地影響模塊A,而模塊A也可以間接地影響模塊B,因此,這就是一組相互依賴的模塊。此外,如果您有另一個正在使用核心服務B的最終用戶模塊(EU2),那么它就會依賴整個群集??梢?,它們在運行時,不僅會占用大量不必要的資源,還會受到集群中某些模塊變化的間接影響。

2.避免最終用戶之間的旁路引用

為了確保正確的隔離,并避免最終用戶具有不同的生命周期,最終用戶模塊不應提供可重用的服務。下圖展示了最終用戶之間的旁路引用關系。

也就是說,如果最終EU1調用到了EU2,則表明EU1無法獨立于EU2,同時他也就不能獨立于EU2下面的層級結構中的集群。

3.避免在核心模塊和基礎模塊之間進行循環引用

如果您能夠遵循前面提到的兩個規則,那么就不必擔心最終用戶模塊之間可能出現循環引用。反而,我們應當重點避免在核心模塊和基礎模塊之間,可能出現的循環引用。此類模塊之間的循環引用主要產生于:一些業務概念沒能被正確地抽象,進而對代碼的管理產生不良的影響。

如上圖所示,循環引用多發生在如下兩種情況中:

  • A和B之間的連接相當緊密,甚至它們隸屬于同一模塊(例如,某個訂單或訂單項)。
  • 根據兩個概念之間的既定關系,如果改變一個模塊的邏輯位置,其單方面的依賴關系就會被破壞。例如,合同是由客戶產生的,但是客戶的存在則無需合同的引用。

4.額外的建議

  • 核心模塊不應具有前端的篩選條件:如果要實現某個服務,您可能需要添加一些篩選條件,用以進行單元測試。但是作為開發人員,一旦完成了代碼測試,就應該及時去除掉測試的篩選條件。如果出于某種原因,仍需要使用測試篩選條件,來支持某些回歸測試或BDD(行為驅動開發)測試的話,您就需要將其移至最終用戶的測試模塊中。畢竟,將測試篩選條件保留在核心模塊上,是非常危險的。基于風險管控的考慮,它們只能存在測試環境中,而不能留在生產環境里。
  • 所有實體都應當被發布為只讀:通過該實踐,您可以禁止訪問者(consumers)簡單粗暴地在數據庫中創建、更新或刪除記錄。在核心服務層面上,您應當抽象出業務事務、驗證、規范化、以及審核等需要與其他系統集成的組件。在實際項目中,正確的做法是:將所有的業務交易的實施,都發布給使用者,同時提供安全且恰當的抽象服務。
  • 避免在基礎層面上使用業務邏輯:有時候,人們會傾向于在該層面上實現各種業務規則。但實際上,我們應當確保它與業務無關,并能在任何應用領域中被重用。
  • 不要在基礎層面上添加核心業務實體:為了與業務無關,基礎模塊不應具有與業務相關的實體。不過,它們可以通過帶有非業務的實體,以支持應用的某些非功能性需求。例如:如果您需要創建通用的服務,來審計所有事務,那么就可以創建一個審計實體。畢竟,某個軟件應用的主要業務可能并非審計,而是銷售產品,拉新客戶或變更合同等。

使用架構畫布的應用組合

在討論應用組合之前,我先聲明一下:這里所說的“應用”,與我們通常在業務環境中所提及的“應用”,具有不同的含義。在該語境中,我們使用術語“應用”來指代 在開發環境中的最小部署單元。它既可以是被用于管理的所有環境,也可以是業務應用、IT用戶、安全性集合、以及應用單個模塊等。

為了識別應用到底屬于上面提到的哪個層級,您應該對目標應用進行深入分析和模塊化的解構。例如:如果某個應用將帶有最終用戶模塊,那么它肯定屬于最終用戶層面。

下面是一組能夠確保設計出前瞻架構的參考規則:

規則1:從模塊的架構畫布準則開始

我們應按照上面給出的建議,對模塊進行正確地分層。

規則2:隔離公共服務

將各個模塊正確地放置到位后,我們就可以開始設計應用了。如前所述,如果在“最終用戶應用2”上有一個模塊會使用到“最終用戶應用1”上某一個模塊,那么我們就應該對通用核心應用進行隔離,以免產生依賴性。如下圖所示,如果兩個應用要進行內容上的共享與交互,則需要在彼此隔離的情況下,通過通用的應用服務來實現。

規則3:請勿混淆所有者角色

如果一個應用擁有多個所有者,那么由于責任不清,可能會導致變更的內容與管理過于復雜。我們可以通過所有權的聚合與分拆(如下圖)兩個方式,給每個應用明確設定一個所有者。

規則4:分清參與者角色

與所有者角色類似,參與者也有各自不同的節奏。例如:有一個提供不同保險業務的門戶網站。其所有業務線都處于同一個應用中,那么任何一個業務(例如車險業務)的任何更改都不可能獨立于其他業務。因此,實際上是由那個最慢的業務線,決定了整體應用的發布周期。

如下圖所示,我們需要通過在每條業務線中創建單獨的應用,讓每個參與者都可以預估自己的交付速度。在此基礎上,我們可以根據項目的具體需求,或是將不同參與者的任務相互隔離,或是通過內容共享的方式,加強他們的協作。

原文標題:Application Architecture: Best Practices for Future-Proofing Your Apps,作者: Francisco Menezes

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

 

責任編輯:華軒 來源: 51CTO
相關推薦

2019-06-27 18:30:30

數據平臺架構

2022-10-26 10:57:37

Gartner首席信息官

2009-04-24 09:15:50

Oracle維護前瞻性

2015-07-07 11:08:26

網絡安全網絡安全立法

2016-12-19 17:05:59

Nutanix

2023-06-19 10:19:13

2009-12-03 11:12:04

BMCIT運營BSM

2009-06-30 13:53:08

前瞻性Oracle數據庫

2022-04-18 16:32:20

區塊鏈Web3去中心化

2010-01-15 19:40:50

BMCIT運維ITSM

2009-06-09 10:11:16

曙光超級計算機GHPC1000

2018-10-26 10:41:19

2010-04-08 10:44:28

Oracle數據庫

2011-04-13 15:54:32

Oracle數據庫維護

2010-01-15 19:48:39

BMCIT運維BSM

2019-12-16 12:11:53

Docker容器Kubernetes

2010-04-08 10:33:08

Oracle數據庫

2023-06-02 10:44:15

2018-08-07 14:39:10

金融
點贊
收藏

51CTO技術棧公眾號

国产精品极品美女在线观看免费| 黑人巨大精品欧美一区二区| 91在线|亚洲| 九九九在线视频| 懂色av一区二区| 欧美性极品xxxx娇小| 午夜欧美性电影| 成人午夜免费福利| 日韩在线一区二区| 久久影院模特热| 中文字幕一区二区久久人妻网站| 最新日韩一区| 亚洲图片欧美色图| 亚欧精品在线| 噜噜噜久久,亚洲精品国产品| 久久国产精品99国产| 久久成人精品电影| 欧美丰满美乳xxⅹ高潮www| 最新国产精品精品视频| 欧美日韩免费一区二区三区视频| 草草视频在线免费观看| 亚洲免费视频一区二区三区| caoporn国产精品| 91亚洲人电影| 亚洲一区二区天堂| 久久精品一区二区三区中文字幕| 欧美日本精品在线| 亚洲精品自拍视频在线观看| 亚洲aaa级| 日韩美女视频一区二区在线观看| 成人在线激情网| 超碰97免费在线| 中文字幕字幕中文在线中不卡视频| 久久久久久久久久久一区 | 无码人妻一区二区三区一| 成人日韩在线| 一本色道久久综合亚洲aⅴ蜜桃 | 美国一区二区三区在线播放| 国产91精品黑色丝袜高跟鞋| 免看一级a毛片一片成人不卡| 色中色综合网| 这里精品视频免费| 在线观看日本中文字幕| 日韩有码av| 亚洲国产精品视频在线观看| 亚洲一区和二区| 日韩成人在线观看视频| 69堂亚洲精品首页| 五月天婷婷影视| 欧美天堂一区| 欧美另类变人与禽xxxxx| 自拍偷拍21p| 欧美成人三级| 在线91免费看| 天天爽夜夜爽视频| 欧美欧美在线| 精品国产一区二区三区四区四 | 白白色 亚洲乱淫| 国产精品乱子乱xxxx| 性一交一乱一伧老太| 国产成人综合在线播放| 99re在线视频上| 高潮一区二区三区乱码| 成人一区在线观看| 精品国产乱码久久久久久丨区2区| 成人免费一级视频| 91视频国产资源| 日韩成人在线资源| 欧美成人hd| 亚洲欧美色一区| 看一级黄色录像| 婷婷色在线资源| 亚洲成a人v欧美综合天堂下载 | 正在播放一区二区| 亚洲成人av免费观看| 99精品国产高清一区二区麻豆| 日韩精品一区国产麻豆| 超碰男人的天堂| 久久99精品久久久久久园产越南| 亚洲午夜未删减在线观看 | 狠狠做深爱婷婷久久综合一区| 亚洲自偷自拍熟女另类| 欧美影视资讯| 3d动漫精品啪啪一区二区竹菊| 99视频在线观看视频| 6080成人| 亚洲欧美制服中文字幕| 天天做夜夜爱爱爱| 亚洲高清网站| 国产大片精品免费永久看nba| 91亚洲欧美激情| 成人在线一区二区三区| 日韩av高清在线播放| 2021国产在线| 色综合激情久久| 欧美一级免费在线| 天堂网av成人| www.日韩免费| 国产精品自拍99| 久88久久88久久久| 精品国产一区二区三区免费| 国产福利第一视频在线播放| 亚洲卡通动漫在线| 成人免费观看视频在线观看| 日韩国产大片| 亚洲欧美日韩视频一区| 久久中文免费视频| 丝袜a∨在线一区二区三区不卡| 96精品久久久久中文字幕| 色综合888| 亚洲综合视频在线| 一级黄色特级片| 日韩影视高清在线观看| 久久成人18免费网站| 日韩免费av网站| 成人av在线电影| 国产又爽又黄ai换脸| 成人美女大片| 欧美mv日韩mv国产| 三上悠亚作品在线观看| 日日嗨av一区二区三区四区| 高清免费日韩| av电影高清在线观看| 在线观看网站黄不卡| 性久久久久久久久久久| 欧美成人有码| 成人情趣片在线观看免费| 久青草国产在线| 图片区小说区区亚洲影院| 亚洲一区二区三区四区精品| 欧美午夜精品一区二区三区电影| 91精品国产91久久久| 亚洲国产999| 亚洲欧美日韩精品久久久久| 国产免费又粗又猛又爽| 欧美猛男做受videos| 国内精品小视频| 亚洲精品中文字幕成人片| 亚洲日本欧美天堂| 一二三级黄色片| 欧美韩日高清| 国产在线播放不卡| 日本www在线观看视频| 欧美亚洲综合网| 成人激情五月天| 美腿丝袜亚洲综合| 亚洲蜜桃av| 国产成人福利夜色影视| 一道本无吗dⅴd在线播放一区| 天码人妻一区二区三区在线看| 99精品欧美一区二区三区综合在线| 男人天堂新网址| 一区二区三区四区视频免费观看| 色综合老司机第九色激情| 精品人妻无码一区二区三区蜜桃一| 《视频一区视频二区| 亚洲欧美天堂在线| 欧美一区不卡| 粉嫩av四季av绯色av第一区| 男女在线观看视频| 亚洲精品91美女久久久久久久| 日韩三级av在线| 久久人人爽人人爽| xxxx一级片| 日韩欧美二区| 亚洲影院在线看| 成人免费网站观看| 亚洲网站视频福利| 一二三四区在线| 一区二区欧美精品| 黄色免费视频网站| 视频一区欧美精品| 在线免费观看成人| 中文在线综合| 欧美一区二区三区免费观看| 都市激情一区| 日韩一区二区电影在线| 中文字幕第28页| 国产日韩av一区二区| 成年网站免费在线观看| 欧美视频不卡| 日韩av图片| 免费精品一区| 欧美一级免费看| 日本www在线| 亚洲国产一区自拍| 真实的国产乱xxxx在线91| 亚洲激情五月婷婷| 日本xxxxxxxxx18| 国产原创一区二区| 各处沟厕大尺度偷拍女厕嘘嘘| 久久亚洲成人| 精品国产一区二区三区久久久久久| 国产一区二区主播在线| 色在人av网站天堂精品| 免费理论片在线观看播放老| 欧美一区二区视频在线观看| 日本三级小视频| 亚洲欧美一区二区视频| 天天插天天射天天干| 紧缚奴在线一区二区三区| 久久久久久久午夜| 午夜激情久久| 欧美日韩高清免费| 亚洲经典视频| 国产免费一区视频观看免费| 三级中文字幕在线观看| 久久亚洲国产精品| 国产三级在线免费观看| 精品国精品国产| 一起草av在线| 在线视频一区二区免费| 日本少妇激情舌吻| 亚洲三级在线免费观看| 黄色三级生活片| 91首页免费视频| 99久久久无码国产精品性波多 | 国产伊人精品| 中国成人在线视频| 日产午夜精品一线二线三线| 久久精品第九区免费观看| 色悠久久久久综合先锋影音下载| 国产精品网红福利| 国产一区二区主播在线| 国产www精品| 成人av观看| 2019中文字幕免费视频| 国产第一页在线视频| 久久艳片www.17c.com| 最新av网站在线观看 | 免费毛片在线看片免费丝瓜视频| 色偷偷av一区二区三区| 波多野结衣在线影院| 亚洲视频在线观看网站| 三级在线播放| 日韩av在线高清| 色网站免费观看| 精品粉嫩超白一线天av| 亚洲第一大网站| 欧美成人国产一区二区| 精品久久久无码中文字幕| 欧美一级艳片视频免费观看| 国产又大又黄的视频| 8v天堂国产在线一区二区| 亚洲最新av网站| 欧美久久高跟鞋激| 97免费观看视频| 91精品国产麻豆| 精品人妻无码一区二区三区蜜桃一| 91精品国产高清一区二区三区| 国产一区二区自拍视频| 制服丝袜国产精品| www.香蕉视频| 亚洲第一区中文99精品| 性xxxx视频| 亚洲精品在线视频| 成人欧美亚洲| 爱福利视频一区| 在线中文字幕电影| 欧美精品videosex性欧美| www中文字幕在线观看| 91精品国产电影| 深夜成人影院| 成人福利网站在线观看| 人人爱人人干婷婷丁香亚洲| 97人人澡人人爽| 亚洲激情77| 亚洲一区高清| 欧美性色综合| 1024av视频| 久草热8精品视频在线观看| av在线天堂网| 久久久噜噜噜久噜久久综合| 四虎国产成人精品免费一女五男| 亚洲人精品一区| 日韩欧美大片在线观看| 在线亚洲+欧美+日本专区| 97免费观看视频| 亚洲精品videossex少妇| 国产女主播在线直播| 久久影视电视剧免费网站| 青青青免费在线视频| 国产精品视频xxx| 爱高潮www亚洲精品| 日韩电影免费观看在| 欧美777四色影| 久久婷婷国产91天堂综合精品| 久久国产精品99精品国产| 涩视频在线观看| 日本一区二区三区四区| 欧美日韩成人免费观看| 一本色道久久综合亚洲精品按摩| 99国产成人精品| 亚洲欧美日韩精品久久亚洲区 | 91亚洲国产成人精品性色| 猫咪成人在线观看| 黄色免费高清视频| 视频在线观看国产精品| 日本精品一二三| 国产精品毛片高清在线完整版| 亚洲激情视频一区| 欧美老年两性高潮| 久色视频在线| 韩剧1988免费观看全集| 亚洲福利影视| 欧美xxxx黑人又粗又长精品| 在线观看日韩| 亚洲一级免费在线观看| 91麻豆国产福利在线观看| 美国黄色小视频| 欧美日韩国产在线观看| 四虎精品成人影院观看地址| 欧美成在线观看| 久久久加勒比| 秋霞毛片久久久久久久久| 日韩一区二区久久| 91精品国产三级| 国产精品视频麻豆| av图片在线观看| 亚洲国产成人精品一区二区 | 91精品国产91久久久久| 这里视频有精品| 2021国产视频| 精品亚洲porn| 娇妻被老王脔到高潮失禁视频| 午夜成人在线视频| 欧美少妇bbw| 欧美激情第99页| 日韩精品一区二区三区中文| 中文字幕在线中文字幕日亚韩一区| 日韩黄色免费电影| 免费看黄色的视频| 色婷婷综合久久久久中文一区二区| 男人天堂一区二区| 久久久亚洲精品视频| 一区二区三区免费在线看| 17c丨国产丨精品视频| 国产精品18久久久久| 欧美国产日韩综合| 欧美一区二区黄| 最新黄网在线观看| 99爱精品视频| 亚洲国产精品一区| 午夜免费福利影院| 动漫精品一区二区| 欧美精品a∨在线观看不卡| 欧美在线视频一区| 国产一区不卡| 久久久久久久久久久久91| 国产精品对白交换视频| 国产尤物在线观看| 欧美黄色片免费观看| 成人台湾亚洲精品一区二区| 青青草成人免费在线视频| 99久久精品久久久久久清纯| 国产一级精品视频| 永久免费精品影视网站| 久久亚洲资源中文字| 三年中文高清在线观看第6集 | 欧美日韩小视频| 国产区在线观看| 国产精品av一区| 亚洲欧美成人| 懂色av粉嫩av浪潮av| 欧美一区二区三区四区在线观看 | 欧美做受高潮电影o| 国产最新精品| 久久精品国产露脸对白| 亚洲成人久久影院| 国产在线观看免费| 亚洲一区二区三区777| 亚洲国产片色| 国产123在线| 日韩亚洲欧美一区| 成人小电影网站| 在线观看成人一级片| 成人精品国产免费网站| 国产黄网在线观看| 免费不卡欧美自拍视频| 亚洲精品小区久久久久久| 不卡的在线视频| 黑人精品xxx一区| 国产视频一区二区| 久久综合精品一区| 国产一区在线精品| av图片在线观看| 久久99国产精品自在自在app | av电影一区二区三区| 不卡av电影在线播放| 国产99久久久久久免费看| 欧美多人乱p欧美4p久久| 视频一区中文| 国内自拍偷拍视频| 欧美日韩午夜精品| 黄色激情在线播放| 中文字幕av久久| 国产亚洲va综合人人澡精品| 精品久久人妻av中文字幕| 国产精品视频26uuu| 一区二区三区四区五区在线|