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

来源:https://www.cnblogs.com/hongwei918/archive/2019/07/14/11177831.html
-Advertisement-
Play Games

本項目採用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消息中間件等。

以下是我繪製的包依賴圖:

 

我著手搭建的項目將參考上述開源項目,整體架構圖我後期會做補充和拆解分析。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.各種斷言方法 常用斷言方法: 方法 用途 assertEqual(a, b) 核實a == b assertNotEqual(a, b) 核實a != b assertTrue(x) 核實x為True assertFalse(x) 核實x為False asseertIn(item, list) ...
  • Github有一個經過重寫的微信小程式SignalR的js類庫 https://github.com/liangshiw/SignalRMiniProgram-Client 於是我把他改成支付寶小程式的版本,上面這個項目的核心代碼基本沒有變,只是小程式開放介面改了一下,在支付寶小程式就能跑起來了 把 ...
  • App_Code 下創建的.cs文件僅僅是“內容”不是代碼。設置文件為“編譯”就可正常引用。 ...
  • 這篇文章主要講解C#中的泛型,泛型在C#中有很重要的地位,尤其是在搭建項目框架的時候。 一、什麼是泛型 泛型是C#2.0推出的新語法,不是語法糖,而是2.0由框架升級提供的功能。 我們在編程程式時,經常會遇到功能非常相似的模塊,只是它們處理的數據不一樣。但我們沒有辦法,只能分別寫多個方法來處理不同的 ...
  • 主要記錄下如何在EF 中連接Oracle s資料庫,很傻瓜式,非常簡單,但是不知道的童鞋,也會搞得很難受,我自己就是 1.創一個控制台程式,並且添加 Oracle.ManagedDataAccess.EntityFramework 2.添加完之後,會自動在App.config 中添加一堆配置信息,主 ...
  • 一、項目中一直用到了文字轉語音的功能,需求也比較簡單,就是將一段報警信息通過語音的方式播放出來,之前一直採用CS客戶端,利用微軟自帶的Speech語音播放庫就可以完成, 1.1 封裝winSpedk類代碼如下: namespace Speak { using System; using System ...
  • 當我傻啊,用戶在電商網站購買成功,還在微服務中,那肯定就是有一套微服務架構的電商系統。 設計一套電商系統還不簡單 簡單想象一下,既然是一個電商系統,有用戶去購買,就肯定得有一個用戶模塊,購買什麼東西總不是西北風吧,購買肯定是商品吧,省掉購物車,就得有商品模塊吧,商品總得有庫存吧,庫存就暫時跟商品放一 ...
  • string path = "test.txt"; FileStream mystream = new FileStream(path, FileMode.OpenOrCreate); StreamWriter myWrite = new StreamWriter(mystream); myWrit ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...