程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 二、面向雲的.net core開發框架的主要設計思路,.netcore

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

編輯:關於.NET

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


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

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

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

一、高內聚、低耦合

就是系統的模塊內各個元素彼此結合的緊密程度高,但是模塊間盡可能獨立存在,這是軟件質量的標准和設計的終極目標之一。高內聚、低耦合的系統更容易擴展,更容易復用,也是雲計算平台分布式、可擴展部署的必要條件。

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

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

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

二、領域驅動設計架構

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

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

三、數據庫設計

目前數據庫通常使用幾種方式進行優化:

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

四、分布式技術

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

  • 靜態資源網站
  • 雲存儲
  • 分布式緩存
  • 分布式消息隊列、ESB等交互工具
  • 分布式數據庫

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved