本項目採用ASP.Net Core微服務技術,搭建博客和Saas平臺。 全文將圍繞(1)設計模式 (2)敏捷開發 目的: 結構足夠合理,代碼足夠優美,擴展性、可讀性、易維護性做到最優。 以下目錄僅為整體思路,後期逐漸完善補充。 1.配置linux環境實現持續集成 2.快速搭建 ASP.net cor ...
本項目採用ASP.Net Core微服務技術,搭建博客和Saas平臺。
全文將圍繞(1)設計模式 (2)敏捷開發
目的: 結構足夠合理,代碼足夠優美,擴展性、可讀性、易維護性做到最優。
以下目錄僅為整體思路,後期逐漸完善補充。
1.配置linux環境實現持續集成
2.快速搭建 ASP.net core Web 應用
3.單元測試
4.資料庫配置管理
5.服務註冊中心
6.網站登錄頁面
7.用戶管理
8.角色管理
9.租戶(組織單位)管理(Saas)
10.模塊管理
11.菜單(導航)管理
12.主題配置
13.日誌管理
14.博客內容管理
15.用戶評論管理
16.全文檢索
17.ERP(簡化數據錄入、聯動、計算)
18.文件管理
19.接入第三方認證及API治理
20.調用第三方API服務
21.工作流管理
22.定時作業、事件觸發
23.緩存管理
24.微服務負載、熔斷、監控等
25.網關監控、展示
26.郵件發送與接收
27.數字證書https管理
28.業務數據展示處理(報表)
29.大數據計算
30.其它技術
整體架構設計
首先,靈感來源是微軟的一個開源項目OrchardCore:https://github.com/OrchardCMS/OrchardCore, 最開始關註它的時候是.net Framework, 後來轉到了 .net core
這裡是他的官方文檔:https://orchardcore.readthedocs.io/en/dev/ 後期有精力的話,我會將它源碼分析做一個系列的博客。
能夠實現Saas和Blog比較完善業務功能,而且模塊的擴展性很好,但是不是微服務架構,沒有服務註冊、路由、發現等,很難做到分散式。我畫了一張該項目的基礎模塊包依賴圖,用來分析項目依賴關係:
還有一個微服務的開源項目,surging:https://github.com/dotnetcore/surging, 封裝了很全的微服務中的服務註冊、發現、網關,使用Netty重寫了http、WS、Mqtt通信協議,支持ProtoBuffer、MessagePack序列化方式,Kafka、RabbitMq消息中間件等。
以下是我繪製的包依賴圖:
我著手搭建的項目將參考上述開源項目,整體架構圖我後期會做補充和拆解分析。