Taurus.MVC 微服務框架 入門開發教程:項目集成:1、服務端:註冊中心、網關(提供可運行程式下載)。

系列目錄:

本系列分為項目集成、項目部署、架構演進三個方向,後續會根據情況調整文章目錄。

本系列第一篇: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 配置項:

  “AppSettings”: {
    “MicroService.Server.Name”: “RegCenter”,//設置為服務端運行的:註冊中心
  }
}
複製程式碼

註冊中心(從,可選):

屬於鹹魚,但仍有兩件事情要做:

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 架構在大並發的演進過程更簡單。

總結:

 本篇介紹微服務框架的服務端,也可參考本系列第一篇,做為服務端,其使用相當的簡單。