二、 面向雲的.net core開發架構的主要設計思路

來源:互聯網
上載者:User

標籤:調用   伺服器   任務   使用   微軟雅黑   部分   訊息   分布式緩衝   功能   

為滿足效能、擴充性、業務快速交付等方面的要求,新.net core雲開發架構改造的主要思想是:高內聚、低耦合,即進一步實現縱向和橫向分層,提高延展性和可擴充性,實現彈性部署:

  • 採用領域驅動設計進行架構橫向分層,同時業務功能縱向分割
  • 在代碼和資料庫設計上充分考慮雲架構要素,提高延展性、可擴充性、高效能性和安全性
  • 採用諸如分布式緩衝、分布式儲存、並行資料庫、訊息佇列、ESB等多種可伸縮技術實現松耦合

採用上述設計思路後的新架構搭建的綜合業務管理系統如。其中HL、HB等是外部系統,通過ESB與綜合業務管理系統互動。

一、高內聚、低耦合

就是系統的模組內各個元素彼此結合的緊密程度高,但是模組間儘可能獨立存在,這是軟體品質的標準和設計的終極目標之一。高內聚、低耦合的系統更容易擴充,更容易複用,也是雲端運算平台分布式、可向外延展部署的必要條件。

首先,在縱向架構上遵循分層的B/S架構標準,將整個系統劃分為表現層、商務邏輯層、資料訪問層。我採用領域驅動設計方式,在三層基礎上又進行了細分,分為五層,分別為資料持久層、基礎設施層、業務領域層、應用程式層和展示層,其核心是業務領域層,所有商務邏輯應該在領域層實現。

其次,在橫向上進行業務分割,就是將系統功能分割成一個個業務模組。根據業務需求的獨立性將門戶管理、即席查詢、指標報表、背景工作、工作流程表單等業務模組進行分割,並分別部署到不同的計算資源中,模組間通過MQ或者SOA介面相互調用,從而提高系統的並發能力和擴充能力。

*個人認為這是軟體項目的最終品質目標,所以重點提一下

二、領域驅動設計架構

領域驅動設計架構分為五層,分別為資料持久層、基礎設施層、業務領域層、應用程式層和展示層。

其核心是業務領域層,所有商務邏輯應該在領域層實現。

三、資料庫設計

目前資料庫通常使用幾種方式進行最佳化:

  • 分庫分表
    • 按照業務將大資料庫拆分成更小的資料庫
    • 特殊情況下某些訪問量大、資料量大的資料表按照一定邏輯拆分到不同資料庫伺服器中(某些雲已提供分散式資料庫,不需要程式實現)
  • 讀寫分離
    • 一個可寫的資料庫,其他唯讀資料庫是可寫資料庫的同步鏡像
    • 形成當前操作資料和曆史資料兩個部分
四、分布式技術

分布式技術的應用可以促進系統的延展性,更利於雲端部署

  • 靜態資源網站
  • 雲端儲存
  • 分布式緩衝
  • 分布式訊息佇列、ESB等互動工具
  • 分散式資料庫

*靜態資源網站更像是一個方式,而不是分布式技術。

二、面向雲的.net core開發架構的主要設計思路

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.