Taurus.MVC V3.0.3 微服务开源框架发布

Taurus.MVC V3.0.3 微服务开源框架发布Taurus.MVC 微服务框架说明:1、框架自带集成了以下功能:1、服务端:网关、注册中心2、客户端:微服务应用程序。因此,即可以做为服务端运

欢迎大家来到IT世界,在知识的湖畔探索吧!

Taurus.MVC 微服务框架说明:

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

1、服务端:网关、注册中心

2、客户端:微服务应用程序。

欢迎大家来到IT世界,在知识的湖畔探索吧!

因此,即可以做为服务端运行,也可以做为客户端运行,下面进行简单演示:

新建空项目,引入Taurus.MVC微服务框架

1、新建一个任意空Web项目,以NET6为示例,在Nuget上引用Taurus.MVC,这里引入每2个的NETCore版本。

Taurus.MVC V3.0.3 微服务开源框架发布

2、Program.cs 手动添加启动代码:

Taurus.MVC V3.0.3 微服务开源框架发布

欢迎大家来到IT世界,在知识的湖畔探索吧!var builder = WebApplication.CreateBuilder(args);builder.WebHost.UseUrls(CYQ.Data.AppConfig.GetApp("Host"));//启动端口外置到配置文件。builder.Services.AddHttpContext();//必要1builder.Services.Configure<KestrelServerOptions>(x => x.AllowSynchronousIO = true).Configure<IISServerOptions>(x => x.AllowSynchronousIO = true);//必要2:开启同步IO读取,对POST请求有用到。var app = builder.Build();app.UseHttpContext();//必要3app.UseTaurusMvc(app.Environment);//必要4app.Run();
Taurus.MVC V3.0.3 微服务开源框架发布

补充说明:如果是.net framework 版本,引用时默认会在web.config自动生成以下启动配置:

Taurus.MVC V3.0.3 微服务开源框架发布

<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>
Taurus.MVC V3.0.3 微服务开源框架发布

1、注册中心:配置成为注册中心

appsettings.json 配置项:

Taurus.MVC V3.0.3 微服务开源框架发布

欢迎大家来到IT世界,在知识的湖畔探索吧!{  "AppSettings": {    "MicroService.Server.Name": "RegCenter",//设置为服务端运行的:注册中心    "MicroService.App.RunUrl": "http://localhost:9000",//设置启动的运行地址,可触发默认微服务启动。    "Host": "http://*:9000"  }}
Taurus.MVC V3.0.3 微服务开源框架发布

发布运行,即成为注册中心(也具备网关功能)

Taurus.MVC V3.0.3 微服务开源框架发布

看到第一二行有输出信息即为成功。

注册中心故障转移:

复制一份注册中心的程序,修改端口,再补上指向主地址的配置即可:

"MicroService.Server.RegUrl": "http://localhost:9000",//注册中心地址

2、网关:配置成为网关

这里将发布后的项目,复制一份,改一下配置文件:

Taurus.MVC V3.0.3 微服务开源框架发布

{  "AppSettings": {    "MicroService.Server.Name": "Gateway",//服务名称    "MicroService.Server.RegUrl": "http://localhost:9000",//注册中心地址    "MicroService.App.RunUrl": "http://localhost:9001",    "Host": "http://*:9001"  }}
Taurus.MVC V3.0.3 微服务开源框架发布

运行,即成为网关中心

Taurus.MVC V3.0.3 微服务开源框架发布

看到第一二行输出,即为成功,并间隔性从注册中心读取服务列表。

3、微服务应用

复制一份项目做为微服务应用,直接使用Taurus.MVC的WebAPI功能添加一个Hello的控制器。

Taurus.MVC V3.0.3 微服务开源框架发布

进行客户端应用配置:

Taurus.MVC V3.0.3 微服务开源框架发布

{  "AppSettings": {    //控制器所在的程序集名称    "Taurus.Controllers": "WebAPI",    "MicroService.Client.Name": "Hello",//配置要注册的模块名称,可以多个逗号分隔,可以注册域名(实现域名绑定)    "MicroService.Client.RegUrl": "http://localhost:9000",//注册中心地地址    "MicroService.App.RunUrl": "http://localhost:9002",    "Host": "http://*:9002"  }}
Taurus.MVC V3.0.3 微服务开源框架发布

然后发布,运行即可:

Taurus.MVC V3.0.3 微服务开源框架发布

看第一二行,运行成功后,客户端会定时保持注册同步。

微服务负载均衡:

仅需要将客户端,复制多份,修改启动端口,直接运行,网关会自动采用轮循的方式负载均衡。

整体运行效果:

1、直接访问应用程序:

Taurus.MVC V3.0.3 微服务开源框架发布

2、通过网关访问:

Taurus.MVC V3.0.3 微服务开源框架发布

3、访问注册中心(注册中心也可以当网关用)

Taurus.MVC V3.0.3 微服务开源框架发布

总结:

本篇介绍微服务框架的最基本使用,在任意开发框架上,引用Taurus.MVC的Nuget包,加上最简的几行配置,即可成为微服务的任意一端。

V3.0.3 已实现的功能:

Taurus.MVC 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 V3.0.3 微服务开源框架发布

微服务的其它内容细节,会在后续的教程文章中讲述到。

后续,针对Taurus.MVC ,会重新补充三个系列教程:

1、Taurus.MVC WebAPI 入门开发教程 系列。
2、Taurus.MVC 微服务框架 入门开发教程 系列。
3、Taurus.MVC Web应用程序 入门开发教程 系列。

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

原文链接:https://www.cnblogs.com/cyq1162/p/16540197.html

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/22578.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信