• Taurus.mvc .Net Core 微服务开源框架发布V3.1.7:让分布式应用更高效。


    前言:

    自首个带微服务版本的框架发布:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单

    已经过去快1年了,在这近一年的时间里,版本经历了N个版本的迭代。

    如今,是时候写文章介绍一下了:

    以下介绍中,仅以.Net Core 6 为示例代码。

    框架支持在.Net Framework 2.0+、.Net Core 2.1+ 任意版本运行。

    1、新版本改进重点介绍:

    新版本的更新日志很多,这里简化成以下10条:

    复制代码
    1、对网关、注册中心(主)、注册中心(从)进行了大量的稳定性和性能优化。
    
    2、对Linux 运行环境做了兼容处理。
    
    3、简化Kestrel域名绑定和Https证书绑定。
    
    4、内部优化:模块调整:除Mvc模块,其余以Plugin形式提供服务。
    
    5、内部优化:名称空间调整:仅留 Taurus.Mvc、Taurus.Plugin 两个名称空间。
    
    6、调整为插件:MicroService:提供微服务服务。
    
    7、调整为插件:CORS:提供跨域服务。
    
    8、调整为插件:Doc:提供WebAPI测试文档自动生成及自动化测试功能。
    
    9、新增插件:Limit:提供IP黑名单、访问频率限速、ack安全码验证等限制服务。
    
    10、新增插件:Admin:提供可视化后台统一管理服务。
    复制代码

    其它:比如提供了分布式锁功能。

    下面,以目前实际运行作为示例讲解:如何在项目实战中应用和部署。

    1、部署注册中心【绑定80端口,仅启动http】

    可以通过下载源码运行编绎,【或新建.Net Core 6的项目,在Nuget中引用Taurus】。

    Program.cs:代码:

    复制代码
    var builder = WebApplication.CreateBuilder(args);
    
    builder.WebHost.UseUrls(MvcConfig.Kestrel.Urls); //启动端口外置到配置文件。
    builder.Services.AddTaurusMvc();//必要1
    
    var app = builder.Build();
    app.UseTaurusMvc();//必要2
    app.Run();
    复制代码

    appsetting.json:配置:

    复制代码
    {
      "AppSettings": {
        "MicroService.Server.Name": "RegCenter",
        "Urls": "http://*:80",
    "Mvc.RunUrl":"http://regcenter.cyqdata.com" } }
    复制代码

    调整好代码,编绎后,即可上传到Linux环境中:

    通过Supervisor启动即可。

    Linux 部署 示例地址:http://regcenter.cyqdata.com

    2、部署网关:【绑定443端口,开启https】

     1、程序和注册中心一致,唯 appsetting.json 配置文件需要调整如下:

    复制代码
    {
      "AppSettings": {
         "MicroService.Server.Name": "Gateway",
        "MicroService.Server.RcUrl": "http://regcenter.cyqdata.com",
        "Mvc.RunUrl":"https://gateway.cyqdata.com"
      }
    }
    复制代码

    2、把证书放在App_Data/ssl目录下

    调整好代码,编绎后,即可上传到Linux环境中:

    通常在各平台可以下载域名的pfx证书,下载后解压,将密码xxx.txt,改成域名.txt即可。

    通过Supervisor启动即可。

    Linux 部署 示例地址:https://gateway.cyqdata.com


    部署好上面两个,服务端即算完成。

    【上面的示例,若部署在一台电脑上,刚好一个占80端口,一个占443端口】。

    3、部署微服务应用客户端节点:

    程序代码都和以上一致,appsetting.json 配置有点区别:

    复制代码
    {
      "AppSettings": {
         "MicroService.Client.Name": "*",
        "MicroService.ClientRcUrl": "http://regcenter.cyqdata.com",
        "Urls":"http://*:0"
      }
    }
    复制代码

    说明:Urls 指定0端口,即随机端口,可以多开。

    部署环节就介绍到这里了,也可以参考以前的系列文章:Taurus.MVC 微服务框架(双语言支持:.Net Core/Java)

    【相关的配置有调整的,文章都修改过了】


    下面是本次发版本发布的重点内容:

    重点内容:Admin 插件:可视化管理

     不管对网关,还是注册中心,或是客户端,都有一个默认的可视化管理后台。

     默认空密码,直接可登陆,登陆后将呈现以下界面内容:

    1、MS - Host :微服务相关内容,可以观察各注册节点信息,注册中心还可以远程停止客户端微服务,或让客户端退出应用程序。 

     

    2、OS - Environment :系统环境信息、以及项目加载的程序集信息:

    3、App - Config :配置管理界面,可以管理Kestrel、Taurus、CYQ.Data 框架内部的相关的项,直接双击Config Value,即可修改调整:

    【除了Kestrel的相关配置,其余配置基本是修改即生效】。

    4、App - Log:用于查看本机文件日志【可以实时打印请求信息、请求执行的Sql、或全局Sql时长过滤的语句】。

    5、Ext - Menu :扩展菜单,需要在Setting 手工添加菜单,才会展示,效果如下【初步用它来统一管理Supervisor】:

    6、Setting :信息设置,包括:【只读管理员创建与删除】、【IP黑名单】、【手工添加微服务节点】、【扩展菜单添加】

    通过Admin插件,可以实时掌握管理整个项目。

    总结:

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

    2、相关细节的内容,后续再写文章介绍。

  • 相关阅读:
    lodash防抖节流
    机器视觉运动控制一体机应用例程|柔性电路板自动上料解决方案
    vue中的mixin混入
    【教3妹学编程-算法题】2915. 和为目标值的最长子序列的长度
    Wayland:推动Linux桌面进入下一代图形显示时代
    iOS持续集成打包从Intel芯片迁移到Apple M2芯片解决方案
    Visual Studio复制、拷贝C++项目与第三方库配置信息到新的项目中
    电子电气架构设计之三电系统设计
    PTA:7-1 栈的基本操作
    [Power Query] 数据类型转换
  • 原文地址:https://www.cnblogs.com/cyq1162/p/17459719.html