[目錄] ASP.Net Core 搭建微服務網站

本項目採用ASP.Net Core微服務技術,搭建博客和Saas平臺。

  全文將圍繞(1)設計模式  (2)敏捷開發    html

  目的: 結構足夠合理,代碼足夠優美,擴展性、可讀性、易維護性作到最優。linux

如下目錄僅爲總體思路,後期逐漸完善補充。

1.配置linux環境實現持續集成

2.快速搭建 ASP.net core Web 應用

3.單元測試

4.數據持久化(基於YesSql,打算使用EFCore從新作)

5.用戶管理及登陸頁面

6.分佈式通訊----MessagePack序列化

7.分佈式通訊----Netty實現NIO通訊

8.分佈式通訊----主機Host

9.分佈式服務----Zookeeper註冊中心

分佈式服務----負載均衡

分佈式服務----熔斷器

分佈式治理----網關

分佈式隊列----RabbitMq消息組件

分佈式緩存----Redis

角色管理

模塊管理

菜單(導航)管理

主題配置

日誌管理

博客內容管理

用戶評論管理

全文檢索

接入第三方認證及API治理

調用第三方API服務

工做流管理

定時做業、事件觸發

租戶(組織單位)管理(Saas)

ERP(簡化數據錄入、聯動、計算)

文件管理

郵件發送與接收

數字證書https管理

業務數據展現處理(報表)

大數據計算

其它技術

 

總體架構設計

首先,靈感來源是微軟的一個開源項目OrchardCore:https://github.com/OrchardCMS/OrchardCore, 最開始關注它的時候是.net Framework, 後來轉到了 .net coregit

這裏是他的官方文檔:https://orchardcore.readthedocs.io/en/dev/  後期有精力的話,我會將它源碼分析作一個系列的博客。github

可以實現Saas和Blog比較完善業務功能,並且模塊的擴展性很好,可是不是微服務架構,沒有服務註冊、路由、發現等,很難作到分佈式。我畫了一張該項目的基礎模塊包依賴圖,用來分析項目依賴關係:設計模式

 

還有一個微服務的開源項目,surging:https://github.com/dotnetcore/surging, 封裝了很全的微服務中的服務註冊、發現、網關,使用Netty重寫了http、WS、Mqtt通訊協議,支持ProtoBuffer、MessagePack序列化方式,Kafka、RabbitMq消息中間件等。緩存

如下是我繪製的包依賴圖:架構

 

我着手搭建的項目將參考上述開源項目,總體架構圖我後期會作補充和拆解分析。負載均衡

相關文章
相關標籤/搜索