Taurus.MVC 微服務框架 入門開發教程:項目集成:1、服務端:註冊中心、網關(提供可運行程式下載)。
- 2022 年 8 月 18 日
- 筆記
- ASP.NET Taurus.MVC, taurus.mvc, WebApi, 微服務架構
系列目錄:
本系列分為項目集成、項目部署、架構演進三個方向,後續會根據情況調整文章目錄。
本系列第一篇:Taurus.MVC V3.0.3 微服務開源框架發布:讓.NET 架構在大並發的演進過程更簡單。
Taurus.MVC 微服務框架 入門開發教程:項目集成:1、服務端:註冊中心、網關(提供可運行程式下載)。
Taurus.MVC 微服務框架 入門開發教程:項目集成:2、客戶端:ASP.NET(C#)程式語言項目集成:應用中心。
Taurus.MVC 微服務框架 入門開發教程:項目集成:3、客戶端:其它程式語言項目集成:應用中心。
Taurus.MVC 微服務框架 入門開發教程:項目集成:4、默認安全認證與自定義安全認證。
Taurus.MVC 微服務框架 入門開發教程:項目集成:5、統一的日誌管理。
Taurus.MVC 微服務框架 入門開發教程:項目集成:6、微服務的二次開發。
Taurus.MVC 微服務框架 入門開發教程:項目部署:1、微服務應用程式常規部署實現多開,節點擴容。
Taurus.MVC 微服務框架 入門開發教程:項目部署:2、讓Kestrel支援綁定多個域名轉發,替代Ngnix使用。
Taurus.MVC 微服務框架 入門開發教程:項目部署:3、微服務應用程式版本升級:全站升級和局部模組升級。
Taurus.MVC 微服務框架 入門開發教程:項目部署:4、微服務應用程式發布到Docker部署(上)。
Taurus.MVC 微服務框架 入門開發教程:項目部署:5、微服務應用程式發布到Docker部署(下)。
Taurus.MVC 微服務框架 入門開發教程:項目部署:6、微服務應用程式Docker部署實現多開。
Taurus.MVC 微服務框架 入門開發教程:架構演進:1、從單應用程式簡單過渡到負載均衡。
Taurus.MVC 微服務框架 入門開發教程:架構演進:2、負載均到模組拆分負載。
Taurus.MVC 微服務框架 入門開發教程:架構演進:3、模組拆分負載到多級負載均衡。
前言:
Taurus.MVC 微服務集成多端,區分服務端與客戶端,也可同時身兼兩端,實現無線層級結構。
本篇講述微服務的服務端:
1、服務端包括:註冊中心、網關。 2、服務端的配置,都是」MicroService.Server.XXXXX「。
下面進行介紹,並提供可直接部署或運行的程式。
1、服務端:註冊中心(單開,可主從)
功能:
1、接收來自客戶端的模組註冊。 2、提供模組註冊的訪問地址列表獲取。
3、可身兼網關,提供負載均衡和反向代理功能。
區分主從:
1、註冊中心(主): 提供註冊中心的基本功能,當從存在時,將從的地址發給訪問者備用。 2、註冊中心(從): 默認當條鹹魚,僅從主獲取資訊進行同步工作。 當主掛了,化身為主功能,並時刻檢測主(恢復)正常時,再將數據同步到主,並通知訪問者切到主地址訪問,自身再當條鹹魚。
註冊中心(主):
屬於被動者,因此啟動即可,默默等待訪問者上勾即可。
其配置也即一條,指明類型即可:
web.Config:
<appSettings> <add key="MicroService.Server.Name" value="RegCenter"/> </appSettings>
appsettings.json 配置項:
註冊中心(從,可選):
屬於鹹魚,但仍有兩件事情要做:
1、需要指定主中心的地址,需要從主中心獲取列表進行同步。 2、訪問主中心地址時,主中心會將來源地址分發給訪問者備用。
故此配置需要指定地址:
web.config:(需要手工首次訪問以激活)
<appSettings> <add key="MicroService.Server.Name" value="RegCenter"/> <!--主註冊中心地址:需要修改,指定後,此中心為備用中心--> <add key="MicroService.Server.RegUrl" value="//localhost:5000"/> </appSettings>
appsettings.json 配置項:(配置好運行地址,自動觸發首次訪問)
{ "AppSettings": { "MicroService.Server.Name": "RegCenter", "MicroService.Server.RegUrl": "//locahost:xxxx", "MicroService.App.RunUrl": "//localhost:9000",//設置啟動的運行地址,可觸發Kestrel運行時啟動微服務。 } }
2、服務端網關:(可多開)
作用:
提供負載均衡和反向代理功能。
作為網關,需要從註冊中心獲取到模組註冊列表,以便根據規則進行代理轉發。
因此,配置有3條:
web.config:(需要手工首次訪問以激活)
<appSettings> <add key="MicroService.Server.Name" value="Gateway"/> <!--主註冊中心地址:需要修改,指定後,此中心為備用中心--> <add key="MicroService.Server.RegUrl" value="//localhost:5000"/> </appSettings>
appsettings.json 配置項:(配置好運行地址,自動觸發首次訪問)
{
"AppSettings": {
"MicroService.Server.Name": "Gateway",
"MicroService.Server.RegUrl": "//locahost:xxxx",
"MicroService.App.RunUrl": "//localhost:9000",//設置啟動的運行地址,可觸發Kestrel運行時啟動微服務。
}
}
3、可運行部署版本下載:.Net Framwork版本
可部署在Window IIS 集成模式 V4.0下:
1、註冊中心下載:註冊中心(主):RegCenterOfMasterForNet4.zip
2、註冊中心下載:註冊中心(從):RegCenterOfSlaveForNet4.zip
2、網關下載:GatewayForNet4.zip,作為網關,部署在IIS時,可以啟用Web園,設置多個進程數量,效果很不錯。
4、可運行程式版本下載:.NET Core 系列
作為網關或註冊中心(兼網關)時,對外通常可能需要部署為Https,涉及到Kestrel的證書設置,可參考:
//blog.walterlv.com/post/add-https-support-for-asp-dotnet-using-kestrel
因此這裡暫時就不進行封裝打包程式了,自行新建個空項目Nuget引用Taurus.MVC即可,可參考:
本系列第一篇:Taurus.MVC V3.0.3 微服務開源框架發布:讓.NET 架構在大並發的演進過程更簡單。
總結:
本篇介紹微服務框架的服務端,也可參考本系列第一篇,做為服務端,其使用相當的簡單。