系统目录:

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

开源地址: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. 彻底弄清楚session,cookie,sessionStorage,localStorage的区别及应用场景(面试向)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_94 客户端状态保持是一个老生常谈的问题了,归根结底追踪浏览器的用户身份及其相关数据无非就是以下四种方式:session,cooki ...

  2. js Fetch返回数据res.json()报错问题

    前言 一直以来在简单的场景中经常使用fetch代替第三方请求库, fetch是JavaScript的原生函数, 简单.高效.快速.稳定.可定制等等诸多优点.一直也是用着很是舒服,直到有一天它竟然报错了 ...

  3. Linux系列之链接

    前言 在类Unix系统中,一个文件有可能被多个名字引用.我们使用链接来实现这一点,链接共有两种类型:硬链接和软链接,本文分别来介绍它们. 硬链接 硬链接也允许指向文件,但与符号链接的方式不同.它们是U ...

  4. Linux 07 用户组文件

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

  5. Spring源码 11 IOC refresh方法6

    参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...

  6. MyBatis 03 缓存

    简介 什么是缓存 存在内存中的临时数据. 将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,转从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题 ...

  7. ESP32与MicroPython入门-01 搭建开发环境

    ESP32简介 ESP32 是上海乐鑫公司开发的一款比较新的32位微控制器,它集成了WiFi及蓝牙等功能,有着性能稳定.功耗低.价格低廉等特点,非常适用于物联网开发,但也可以作为普通的MCU使用. E ...

  8. from表单、css选择器、css组合器、字体样式、背景属性、边框设置、display设置

    目录 一.form表单 1.form表单功能 2.表单使用原理 二.前端基础之css 1.关于css的介绍 2.css语法 3.三种编写CSS的方式 3.1.style内部直接编写css代码 3.2. ...

  9. .NET 纯原生实现 Cron 定时任务执行,未依赖第三方组件

    常用的定时任务组件有 Quartz.Net 和 Hangfire 两种,这两种是使用人数比较多的定时任务组件,个人以前也是使用的 Hangfire ,慢慢的发现自己想要的其实只是一个能够根据 Cron ...

  10. 来开源吧!发布开源组件到 MavenCentral 仓库超详细攻略

    请点赞关注,你的支持对我意义重大. Hi,我是小彭.本文已收录到 GitHub · AndroidFamily 中.这里有 Android 进阶成长知识体系,有志同道合的朋友,关注公众号 [彭旭锐] ...