【軟體架構篇】常見可擴充套件模式
1、可擴充套件
為了實現一個需求,需要修改系統程式碼時,若修改程式碼對已存在的功能影響非常小,那麼說明原有系統的可擴充套件性高;若修改程式碼對已存在的功能影響非常大,那麼說明原有系統的可擴充套件性低。
設計一個系統時,需要考慮可擴充套件性,以當下次對系統進行修改時,減小對系統已有功能的影響程度。可擴充套件性需要在後續接到新需求時才能被檢驗。
設計可擴充套件時用的方法,萬變不離其中,一個字即拆,以此來實現高內聚,低耦合。
2、常見可擴充套件模式
根據不同的拆分方式,將得到不同的可擴充套件架構模式。
面向流程拆分:分層架構。
面向服務拆分:SOA和微服務。
面向功能拆分:微核心架構。
流程、服務、功能,根據範圍由大到小依次為流程>服務>功能。
3、分層架構
常見的分層架構有MVC,model層又分為業務邏輯層、資料層等。
使用場景:實現後端API的典型分層架構。
4、SOA
使用場景:對於一些傳統公司而言,公司內部有很多個系統,並且這些系統很少變動、使用時間比較長,系統開放介面的形式很不一樣。公司為了整合各個系統,通過ESB作為中介軟體負責各個系統的訊息轉換。
5、微服務
對於網際網路系統來說,如果繼續使用ESB,ESB本身也將成為系統瓶頸。網際網路系統採用去中心化的方式,讓各個服務之間相互呼叫,這樣帶來的一個副作用是各個服務之間的開放介面需要統一。
網際網路業務的典型特點有:使用者數量大、業務發展迅速。
6、微核心架構
一般比較複雜的單機應用可採用微核心架構,比如作業系統、Eclipse等。
相關文章
- 10種常見的軟體架構模式架構模式
- 簡要剖析:可擴充套件的微服務架構套件微服務架構
- 谷歌的三大可擴充套件核心架構谷歌套件架構
- 微服務架構擴充套件FreeStyle微服務架構套件
- Django與微服務架構:構建可擴充套件的Web應用Django微服務架構套件Web
- 常見的五種軟體架構架構
- 可擴充套件性套件
- 如何使用Zebee構建高度可擴充套件的分散式工作流中介軟體?套件分散式
- 微服務架構:自動擴充套件簡介微服務架構套件
- 構建高可用性、高效能和可擴充套件的Zabbix Server架構套件Server架構
- Tokenformer:基於引數標記化的高效可擴充套件Transformer架構ORM套件架構
- 編寫可擴充套件程式套件
- 讀構建可擴充套件分散式系統:方法與實踐09可擴充套件資料庫基礎套件分散式資料庫
- 使用 Postgres 的全文搜尋構建可擴充套件的事件驅動搜尋架構套件事件架構
- 使用 Python 構建可擴充套件的社交媒體情感分析服務Python套件
- 讀構建可擴充套件分散式系統:方法與實踐15可擴充套件系統的基本要素套件分散式
- Spring常見擴充總結Spring
- 如何構建可控,可靠,可擴充套件的 PWA 應用套件
- kotlin 擴充套件(擴充套件函式和擴充套件屬性)Kotlin套件函式
- 開源 [輪子] Laravel 專案架構擴充套件包Laravel架構套件
- 軟體架構模式之微服務架構架構模式微服務
- MySQL Sharding可擴充套件設計YMMySql套件
- MySQL 高擴充套件架構構建百萬線上系統實踐MySql套件架構
- Fortinet將SecurityFabric架構安全能力擴充套件到雲端架構套件
- Deco 編輯器高擴充套件性技術架構解析套件架構
- 以對話的方式擴充套件架構的實踐 - Andrew套件架構
- [擴充套件推薦]簡體轉繁體/繁體轉簡體 OpenCC-PHP 擴充套件套件PHP
- 自動化時序異常檢測的可擴充套件通用框架套件框架
- 實現近乎無限可擴充套件性的7種設計模式套件設計模式
- 【Kotlin】擴充套件屬性、擴充套件函式Kotlin套件函式
- 解析線上教育系統原始碼架構:構建可擴充套件的企業教學平臺原始碼架構套件
- 微服務架構中資料庫擴充套件和最佳化微服務架構資料庫套件
- 擴充套件 GRTN:雲原生趨勢下的 RTC 架構演進套件架構
- 實用的可選項(Optional)擴充套件套件
- Django內建許可權擴充套件案例Django套件
- 擴充套件.Django-許可權系統套件Django
- dubbo是如何實現可擴充套件的?套件
- 如何利用容器與中介軟體實現微服務架構下的高可用性和彈性擴充套件微服務架構套件