系统目录:

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

开源地址: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、客户端:其它编程语言项目集成:Java集成应用中心。

Taurus.MVC 微服务框架 入门开发教程:项目集成:4、默认安全认证与自定义安全认证。

Taurus.MVC 微服务框架 入门开发教程:项目集成:5、统一的日志管理。

Taurus.MVC 微服务框架 入门开发教程:项目集成:6、微服务间的调用方式:Rpc.StartTaskAsync。

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 微服务框架 入门开发教程:项目部署:7、微服务节点的监控与告警。

Taurus.MVC 微服务框架 入门开发教程:架构演进:1、从单应用程序简单过渡到负载均衡。

Taurus.MVC 微服务框架 入门开发教程:架构演进:2、负载均到模块拆分负载。

Taurus.MVC 微服务框架 入门开发教程:架构演进:3、模块拆分负载到多级负载均衡。

Taurus.MVC 微服务框架 入门开发教程:运行示例:https://github.com/cyq1162/Taurus.MVC.MicroService.Demo

前言:

以过多天的努力,终于一直更新到了V3.1.2版本:V3系列到目前的版本的更新如下:

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)
18、新增:模块配置:“*”,代表:注册所有模块。(2022-08-03)
19、新增:模块配置:“*.*”代表:注册所有域名。(2022-08-03)
20、优化:网关或注册中心使用域名访问时:先匹配域名注册,再匹配模块注册。(2022-08-03)
21、优化:网关并发请求和其它细节优化。(2022-08-10)
22、优化:控制器下找不到的方法路径,也统一跳转到全局Default。(2022-08-12)
23、优化:大量并发请求的稳定性。(2022-08-15)
24、新增:模块配置:【模块名|版本号】如:"xxx|1,yyy|2",对于多模块,允许指定各自版本号。(2022-08-16)
25、优化:版本升级:新版运行每次注册【5-10秒】仅清除1个旧版本,用于平滑版本过渡版本升级。(2022-08-16)
26、优化:版本升级:仅绑定域名的追加*通配符;优化获取Host算法(模块高版本存在时,忽略低版本通配符)。(2022-08-17)
27、优化:微服务对外接口的文档显示,以便其它编程语言查看与调试。(2022-08-17)
-------------------------V3.1.1.0【升级微服务功能】(2022-09-09 - 2022-09-13)-----------------------------
1、优化:调整Controller的名称空间:Taurus.Core =>Taurus.Mvc
2、优化:控制器命名调整:允许控制器名称不以Controller结尾(DefaultController除外)。
3、优化:Extend 更名:Plugin :原有Auth模块,独立出外部项目,变更为插件方式提供。
4、优化:微服务网关代理调用。
5、优化:微服务间的Key的网络调用请求头传参数名变更:microservice => mskey。
6、优化:CheckAck、CheckToken、CheckMicroService、BeginInvode、EndInvode等方法(参数优化)。
7、新增:IgnoreDefaultControllerAttribute 允许控制器忽略全局DefaultController事件。
8、新增:提供微服务间的调用方式:Taurus.MicroService.Rpc。
--------------------------V3.1.1.1:(2022-09-13 - 2022-10-11)---------------------------------------------
1、优化:新方法的反射获取提前到控制器初始化阶段。
2、优化:反射程序集(配置*号时,跳过错误的加载项而不抛异常)。
3、优化:Linux 下Mvc Views 文件路径大小写的获取。
4、优化:MicroService.MSConfig 更名为:MicroService.MsConfig。
---------------------------V3.1.2.0:(2022-10-12)---------------------------------------------
1、新增:注册中心注册的信息(包含客户端和服务端)可写入指定数据库(配置MsConn数据库链接,配置MsTableName(可选)。(2022-10-12)

当前最新版本最后一条更新:

通过指定数据库链接,可以将所有的服务信息,都存档在指定的数据库中,然后自行根据该数据,自行生成图表监控即可。

下面介绍该使用方式(该方式使用和《项目集成:5、统一的日志管理》一文中的使用方式相似):

1、配置数据库链接:MsConn

appsettings.json:配置如下:

{
"ConnectionStrings": {
"MsConn": "server=.;database=MsHost;uid=sa;pwd=123456"
},
"AppSettings": {
//...
}
}

web.config:配置如下:

<configuration>
<connectionStrings>
<add name="MsConn" connectionString="......"/>
</connectionStrings>
</configuration>

2、配置数据库链接(备,可选):MsConn_Bak

appsettings.json:配置如下:

{
"ConnectionStrings": {
"MsConn": "server=.;database=Ms;uid=sa;pwd=123456"
  "MsConn_Bak": "server=.;database=Ms_bak;uid=sa;pwd=123456"
},
  "AppSettings": {
//......
}
}

web.config:配置如下:

<configuration>
<connectionStrings>
<add name="MsConn" connectionString="......"/>
   <add name="MsConn_bak" connectionString="......"/>
</connectionStrings>
</configuration>

说明:

如果主数据库了,默认链接会切换到备数据库链接写,避免监控数据丢失。

3、自定义数据库表名:(默认:MsRegCenter)

appsettings.json:配置如下:

{
"ConnectionStrings": {
"MsConn": "server=.;database=Ms;uid=sa;pwd=123456"
  "MsConn_Bak": "server=.;database=Ms_bak;uid=sa;pwd=123456"
},
  "AppSettings": {
   "MsTableName":"自定义微服务模块信息表名"
}
}

web.config:配置如下:

<configuration>
<connectionStrings>
<add name="MsConn" connectionString="......"/>
   <add name="MsConn_bak" connectionString="......"/>
</connectionStrings>
<appSettings>
    <add key="MsTableName" value="自定义表名"/>
</appSettings>
</configuration>

说明:

对于数据库,可以独立一个数据库,但对于不同的微服务集群,可以采用不同的表名来区分监控日志。

4、自定义数据库日志表名:按每天或每月生成一张表进行采集(可选)

在【注册中心】运行代码中(Programs.cs)找个写代码的地方:

1、按每天生成1张日志表:

MsConfig.LogTableName="表名"+DateTime.Now.ToString("yyyyMMdd");

2、按每月生成1张日志表:

MsConfig.LogTableName="表名"+DateTime.Now.ToString("yyyyMM");

3、按每年生成1张日志表:

MsConfig.LogTableName="表名"+DateTime.Now.ToString("yyyy");

说明:

一般没有这个需求,但还是告诉有这么个可以动态调整表名的方式。

5、自动生成的数据库表结构:

运行注册中心后,如果配置了对应的数据库链接,框架会自动创建对应的数据表,同时系统每5秒,会更新一次数据库表。

表数据说明:

1、服务端:(版本号默认都为0)

注册中心:RegCenter。

注册中心(从):RegCenterOfSlave。 

网关中心:Gateway。

如果要搜索服务端数据,查询Version=0即可。

2、客户端:版本号>=1

微服务中心:各自配置的名称。
版本号未配置时,默认为1,可配置项>=1。

其它说明:

Host:为各主机的可请求地址。

LastActiveTime:各主机请求注册中心的最新时间(超过10秒,即为离线)。

总结:

仅需在【注册中心】应用程序中,配置好数据库链接,即可收获所有相关的信息。

以便于对各节点进行监控,进行故障告警。

Taurus.MVC 微服务框架 入门开发教程:项目部署:7、微服务节点的监控与告警。的更多相关文章

  1. Taurus.MVC 微服务框架 入门开发教程:项目部署:1、微服务应用程序常规部署实现多开,节点扩容。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  2. Taurus.MVC 微服务框架 入门开发教程:项目部署:2、让Kestrel支持绑定多个域名转发,替代Ngnix使用。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  3. Taurus.MVC 微服务框架 入门开发教程:项目部署:3、微服务应用程序版本升级:全站升级和局部模块升级。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

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

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  5. Taurus.MVC 微服务框架 入门开发教程:项目集成:2、客户端:ASP.NET Core(C#)项目集成:应用中心。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  6. Taurus.MVC 微服务框架 入门开发教程:项目集成:5、统一的日志管理。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  7. Taurus.MVC 微服务框架 入门开发教程:项目集成:4、默认安全认证与自定义安全认证。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  8. Taurus.MVC 微服务框架 入门开发教程:项目部署:4、微服务应用程序发布到Docker部署(上)。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...

  9. Taurus.MVC 微服务框架 入门开发教程:项目部署:5、微服务应用程序发布到Docker部署(下)。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...

  10. Taurus.MVC 微服务框架 入门开发教程:项目部署:6、微服务应用程序Docker部署实现多开。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...

随机推荐

  1. qbxt五一数学Day3

    目录 1. 组合数取模 1. \(n,m\le 200\),\(p\) 任意 2. \(n,m\le 10^6\),\(p\ge 10^9\) 素数 3. \(n,m\le 10^6\),\(p\le ...

  2. PHP单粒模式

    <?php class C { //三私一公 protected static $_instance = null; protected function __construct() //pro ...

  3. MySQL Update执行流程解读

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 一.update跟踪执行配置 使用内部程序堆栈跟踪工具path_viewer,跟踪mysql update 一行数据的执行 ...

  4. Python基础之字符串和编码

    字符串和编码 字符串也是一种数据类型,但是字符串比较特殊的是还有个编码问题. 因为计算机自能处理数字,如果徐娅处理文本,就必须先把文本转换为数字才能处理,最早的计算机子设计时候采用8个比特(bit)作 ...

  5. Linux 04 用户文件

    参考源 https://www.bilibili.com/video/BV187411y7hF?spm_id_from=333.999.0.0 版本 本文章基于 CentOS 7.6 概述 完成用户管 ...

  6. Iterator与Generator

    Iterator Iterator 概念 Iterator 提供了一种统一的接口机制,为各种不同数据结构提供统一的访问机制.定义 Iterator 就是提供一个具有 next() 方法的对象,每次调用 ...

  7. Vue刷新页面VueX中数据清空了,怎么重新获取?

    Vue刷新页面VueX数据清空了,怎么重新获取? 点击打开视频讲解更详细 在vue中刷新页面后,vuex中的数据就没有了,这时我们要想使用就要重新获取数据了, 怎么在刷新后重新获取数据呢??? 这时我 ...

  8. NOI P序列题 (二分)

    题面 题解 --WQS二分 想到这个这题就完了. 赛时没想到这个你就完了. 时间复杂度 O ( n log ⁡ a ) O(n\log a) O(nloga) 不难发现这题有凸性,可以WQS二分. 我 ...

  9. 截取url后缀扩展名方法

    原本使用 Path(_['video']['downloadUrl']).suffix 获取文件扩展名,没想到出错了,查明原因发现某视频链接是https://xx.xxx.xxx/xx/xxxx.mp ...

  10. Spring常用注解(SpirngBoot方面讲的更加详细)

    注解实现自动装配 使用注解须知: 导入约束,context约束 配置注解的支持 <?xml version="1.0" encoding="UTF-8"? ...