Taurus.MVC 微服务框架 入门开发教程:项目集成:1、服务端:注册中心、网关(提供可运行程序下载)。

2年前 (2022) 程序员胖胖胖虎阿
288 0 0

系列目录:

本系列分为项目集成、项目部署、架构演进三个方向,后续会根据情况调整文章目录。

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

本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单。

Taurus.MVC 微服务框架 入门开发教程:项目集成:1、服务端:注册中心、网关(提供可运行程序下载)。

Taurus.MVC 微服务框架 入门开发教程:项目集成:2、客户端:ASP.NET Core(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 微服务框架 入门开发教程:运行示例:https://github.com/cyq1162/Taurus.MVC.MicroService.Demo

前言:

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 配置项:

Taurus.MVC 微服务框架 入门开发教程:项目集成:1、服务端:注册中心、网关(提供可运行程序下载)。{
  "AppSettings": {
    "MicroService.Server.Name": "RegCenter",//设置为服务端运行的:注册中心
  }
}
Taurus.MVC 微服务框架 入门开发教程:项目集成:1、服务端:注册中心、网关(提供可运行程序下载)。
 

注册中心(从,可选):

属于咸鱼,但仍有两件事情要做:

1、需要指定主中心的地址,需要从主中心获取列表进行同步。
2、访问主中心地址时,主中心会将来源地址分发给访问者备用。

故此配置需要指定地址:

web.config:(需要手工首次访问以激活)

    <appSettings>
        <add key="MicroService.Server.Name" value="RegCenter"/>
        <!--主注册中心地址:需要修改,指定后,此中心为备用中心-->
        <add key="MicroService.Server.RegUrl" value="http://localhost:5000"/>
    </appSettings>

appsettings.json 配置项:(配置好运行地址,自动触发首次访问)

{
  "AppSettings": {
    "MicroService.Server.Name": "RegCenter",
    "MicroService.Server.RegUrl": "http://locahost:xxxx",
    "MicroService.App.RunUrl": "http://localhost:9000",//设置启动的运行地址,可触发Kestrel运行时启动微服务。

  }
}

2、服务端网关:(可多开)

作用:

提供负载均衡和反向代理功能。

作为网关,需要从注册中心获取到模块注册列表,以便根据规则进行代理转发。

因此,配置有3条:

web.config:(需要手工首次访问以激活)

    <appSettings>
        <add key="MicroService.Server.Name" value="Gateway"/>
        <!--主注册中心地址:需要修改,指定后,此中心为备用中心-->
        <add key="MicroService.Server.RegUrl" value="http://localhost:5000"/>
    </appSettings>

appsettings.json 配置项:(配置好运行地址,自动触发首次访问)

{
  "AppSettings": {
    "MicroService.Server.Name": "Gateway",
    "MicroService.Server.RegUrl": "http://locahost:xxxx",
    "MicroService.App.RunUrl": "http://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的证书设置,可参考:

https://blog.walterlv.com/post/add-https-support-for-asp-dotnet-using-kestrel

因此这里暂时就不进行封装打包程序了,自行新建个空项目Nuget引用Taurus.MVC即可,可参考:

本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单。

总结:

 本篇介绍微服务框架的服务端,也可参考本系列第一篇,做为服务端,其使用相当的简单。

相关文章

暂无评论

暂无评论...