Taurus.mvc .Net Core 微服務開源框架釋出V3.1.7:讓分散式應用更高效。

2023-06-06 18:00:52

前言:

自首個帶微服務版本的框架釋出:Taurus.MVC V3.0.3 微服務開源框架釋出:讓.NET 架構在大並行的演進過程更簡單

已經過去快1年了,在這近一年的時間裡,版本經歷了N個版本的迭代。

如今,是時候寫文章介紹一下了:

以下介紹中,僅以.Net Core 6 為範例程式碼。

框架支援在.Net Framework 2.0+、.Net Core 2.1+ 任意版本執行。

1、新版本改進重點介紹:

新版本的更新紀錄檔很多,這裡簡化成以下10條:

1、對閘道器、註冊中心(主)、註冊中心(從)進行了大量的穩定性和效能優化。

2、對Linux 執行環境做了相容處理。

3、簡化Kestrel域名系結和Https證書系結。

4、內部優化:模組調整:除Mvc模組,其餘以Plugin形式提供服務。

5、內部優化:名稱空間調整:僅留 Taurus.Mvc、Taurus.Plugin 兩個名稱空間。

6、調整為外掛:MicroService:提供微服務服務。

7、調整為外掛:CORS:提供跨域服務。

8、調整為外掛:Doc:提供WebAPI測試檔案自動生成及自動化測試功能。

9、新增外掛:Limit:提供IP黑名單、存取頻率限速、ack安全碼驗證等限制服務。

10、新增外掛:Admin:提供視覺化後臺統一管理服務。

其它:比如提供了分散式鎖功能。

下面,以目前實際執行作為範例講解:如何在專案實戰中應用和部署。

1、部署註冊中心【繫結80埠,僅啟動http】

可以通過下載原始碼執行編繹,【或新建.Net Core 6的專案,在Nuget中參照Taurus】。

Program.cs:程式碼:

var builder = WebApplication.CreateBuilder(args);

builder.WebHost.UseUrls(MvcConfig.Kestrel.Urls); //啟動埠外接到組態檔。
builder.Services.AddTaurusMvc();//必要1

var app = builder.Build();
app.UseTaurusMvc();//必要2
app.Run();

appsetting.json:設定:

{
  "AppSettings": {
    "MicroService.Server.Name": "RegCenter",
    "Urls": "http://*:80",
"Mvc.RunUrl":"http://regcenter.cyqdata.com" } }

調整好程式碼,編繹後,即可上傳到Linux環境中:

通過Supervisor啟動即可。

Linux 部署 範例地址:http://regcenter.cyqdata.com

2、部署閘道器:【繫結443埠,開啟https】

 1、程式和註冊中心一致,唯 appsetting.json 組態檔需要調整如下:

{
  "AppSettings": {
     "MicroService.Server.Name": "Gateway",
    "MicroService.Server.RcUrl": "http://regcenter.cyqdata.com",
    "Mvc.RunUrl":"https://gateway.cyqdata.com"
  }
}

2、把證書放在App_Data/ssl目錄下

調整好程式碼,編繹後,即可上傳到Linux環境中:

通常在各平臺可以下載域名的pfx證書,

下載後解壓,反密碼xxx.txt,改成域名.txt即可。

通過Supervisor啟動即可。

Linux 部署 範例地址:https://gateway.cyqdata.com


部署好上面兩個,伺服器端即算完成。

【上面的範例,若部署在一臺電腦上,剛好一個佔80埠,一個佔443埠】。

3、部署微服務應用使用者端節點:

程式程式碼都和以上一致,appsetting.json 設定有點區別:

{
  "AppSettings": {
     "MicroService.Client.Name": "*",
    "MicroService.ClientRcUrl": "http://regcenter.cyqdata.com",
    "Urls":"http://*:0"
  }
}

說明:Urls 指定0埠,即隨機埠,可以多開。

部署環節就介紹到這裡了,也可以參考以前的系列文章:Taurus.MVC 微服務架構(雙語言支援:.Net Core/Java)

【相關的設定有調整的,文章都修改過了】


下面是本次發版本釋出的重點內容:

重點內容:Admin 外掛:視覺化管理

 不管對閘道器,還是註冊中心,或是使用者端,都有一個預設的視覺化管理後臺。

 預設空密碼,直接可登陸:

1、MS - Host :微服務相關內容,可以觀察各註冊節點資訊,註冊中心還可以遠端停止使用者端微服務,或讓使用者端退出應用程式。 

 

2、OS - Environment :系統環境資訊、以及專案載入的程式集資訊:

3、App - Config :設定管理介面,可以管理Kestrel、Taurus、CYQ.Data 框架內部的相關的項,直接雙擊Config Value,即可修改調整:

【除了Kestrel的相關設定,其餘設定基本是修改即生效】。

4、App - Log:用於檢視本機檔案紀錄檔【可以實時列印請求資訊、請求執行的Sql、或全域性Sql時長過濾的語句】。

5、Ext - Menu :擴充套件選單,需要在Setting 手工新增選單,才會展示,效果如下【初步用它來統一管理Supervisor】:

6、Setting :資訊設定,包括:【唯讀管理員建立與刪除】、【IP黑名單】、【手工新增微服務節點】、【擴充套件選單新增】

通過Admin外掛,可以實時掌握管理整個專案。

總結:

1、開源地址:https://github.com/cyq1162/Taurus.MVC

2、相關細節的內容,後續再寫文章介紹。