Taurus.MVC V3.0.3 微服務開源框架發佈:讓.NET 架構在大併發的演進過程更簡單。 工業製造行業的低代碼開發平臺思維架構圖

前方:

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

上篇文章介紹過:工業製造行業的低代碼開發平臺思維架構圖

規劃中涉及到了微服務,近些天經過努力和不斷的代碼與反覆壓力測試,終於出來一個簡單的穩定版本了。

Taurus.MVC 微服務框架說明:

1、框架自帶集成了以下功能:

1、服務端:網關、註冊中心

2、客戶端:微服務應用程序。

因此,即可以做爲服務端運行,也可以做爲客戶端運行,下面進行簡單演示:

新建空項目,引入Taurus.MVC微服務框架

1、新建一個任意空Web項目,以NET6爲示例,在Nuget上引用Taurus.MVC,這裏引入每2個的NETCore版本。

 

2、Program.cs 手動添加啓動代碼:

var builder = WebApplication.CreateBuilder(args);
builder.WebHost.UseUrls(CYQ.Data.AppConfig.GetApp("Host"));//啓動端口外置到配置文件。
builder.Services.AddHttpContext();//必要1
builder.Services.Configure<KestrelServerOptions>(x => x.AllowSynchronousIO = true).Configure<IISServerOptions>(x => x.AllowSynchronousIO = true);//必要2:開啓同步IO讀取,對POST請求有用到。
var app = builder.Build(); app.UseHttpContext();//必要3 app.UseTaurusMvc(app.Environment);//必要4 app.Run();

補充說明:如果是.net framework 版本,引用時默認會在web.config自動生成以下啓動配置:

<configuration>
  <system.web>
    <httpModules>
      <!--Taurus IIS應用程序池:經典模式(下運行,開啓此配置)-->
    <add name="Taurus.Core" type="Taurus.Core.UrlRewrite,Taurus.Core" />
    </httpModules>
  </system.web>
  <system.webServer>
    <modules>
      <!--Taurus IIS應用程序池:集成模式(下運行,開啓此配置)-->
      <add name="Taurus.Core" type="Taurus.Core.UrlRewrite,Taurus.Core" />
    </modules>
  </system.webServer>
</configuration>

 

1、註冊中心:配置成爲註冊中心

appsettings.json 配置項:

{
  "AppSettings": {
    "MicroService.Server.Name": "RegCenter",//設置爲服務端運行的:註冊中心

"MicroService.App.RunUrl": "http://localhost:9000",//設置啓動的運行地址,可觸發默認微服務啓動。

"Host": "http://*:9000" } }

發佈運行,即成爲註冊中心(也具備網關功能)

看到第一二行有輸出信息即爲成功。

註冊中心故障轉移:

複製一份註冊中心的程序,修改端口,再補上指向主地址的配置即可:

"MicroService.Server.RegUrl": "http://localhost:9000",//註冊中心地址

2、網關:配置成爲網關

這裏將發佈後的項目,複製一份,改一下配置文件:

{
  "AppSettings": {
    "MicroService.Server.Name": "Gateway",//服務名稱
    "MicroService.Server.RegUrl": "http://localhost:9000",//註冊中心地址

    "MicroService.App.RunUrl": "http://localhost:9001",
    "Host": "http://*:9001"
  }
}

運行,即成爲網關中心

看到第一二行輸出,即爲成功,並間隔性從註冊中心讀取服務列表。 

3、微服務應用

複製一份項目做爲微服務應用,直接使用Taurus.MVC的WebAPI功能添加一個Hello的控制器。

進行客戶端應用配置:

{
  "AppSettings": {

    //控制器所在的程序集名稱
    "Taurus.Controllers": "WebAPI",

    "MicroService.Client.Name": "Hello",//配置要註冊的模塊名稱,可以多個逗號分隔,可以註冊域名(實現域名綁定)
    "MicroService.Client.RegUrl": "http://localhost:9000",//註冊中心地地址

    "MicroService.App.RunUrl": "http://localhost:9002",
    "Host": "http://*:9002"
  }
}

然後發佈,運行即可:

 

 看第一二行,運行成功後,客戶端會定時保持註冊同步。

微服務負載均衡:

僅需要將客戶端,複製多份,修改啓動端口,直接運行,網關會自動採用輪循的方式負載均衡。

整體運行效果:

1、直接訪問應用程序:

2、通過網關訪問:

 3、訪問註冊中心(註冊中心也可以當網關用)

總結:

本篇介紹微服務框架的最基本使用,在任意開發框架上,引用Taurus.MVC的Nuget包,加上最簡的幾行配置,即可成爲微服務的任意一端。

V3.0.3 已實現的功能:

------------------V3.0.3【新增內置微服務(網關和註冊中心)功能】----------------
1、新增:註冊中心服務註冊。(2022-07-23)
2、新增:網關代理轉發。(2022-07-23)
3、新增:網關安全效驗([MicroService]屬性標記時接口僅允許微服務間調用)。(2022-07-24)
4、新增:網關集羣。(2022-07-25)
5、新增:註冊中心故障轉移。(2022-07-25)
6、新增:服務間調用方法提供。(2022-07-26)
7、優化:路由尋址與代理轉發的兼容。(2022-07-27)
8、優化:統一日誌監控方案,方便問題定位。(2022-07-28)
9、新增:文件代理轉發,支持作爲網站網關。(2022-07-29)
10、優化:Taurus.Core.Controller 去掉方法與屬性:方法【CheckFormat】、屬性【Sort、Order】。(2022-07-29)
11、新增:Kestrel下網關和服務啓動後觸發請求(配置項:MicroService.App.RunUrl)。(2022-07-29)
12、新增:Kestrel 實現多域名綁定轉發。(2022-07-29)
13、優化:大量微服務的註冊性能優化和併發測試。(2022-07-30)
14、優化:服務端和客戶端各自獨立。(2022-07-31)
15、新增:兼容微軟mvc框架引用即可成爲微服務端。(2022-08-01)
16、新增:完成Web的Cookie轉發。(2022-08-01)
17、新增:控制檯日誌輸出,方便調試。(2022-08-01)

微服務的其它內容細節,會在後續的教程文章中講述到。

後續,針對Taurus.MVC ,會重新補充三個系列教程:

1、Taurus.MVC WebAPI 入門開發教程 系列。
2、Taurus.MVC 微服務框架 入門開發教程 系列。
3、Taurus.MVC Web應用程序 入門開發教程 系列。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章