Canal的主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。他可以模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送 dump 协议。MySQL master收到dump请求,开始推送 binary log 给 slave (即canal),canal解析binary log 对象(原始为 byte 流)。
Serilog是 .NET 中最著名的结构化日志类库。大多数情况下,中小型项目会将日志直接记录在一个对应的文件夹中比如Logs文件夹,并且可以按照日志的等级创建子文件夹比如errror、debug等等,再按照日期创建子文件最后按照日志文件大小上限做日志文件的划分。在一些大型项目中需要将日志写入数据库,文章讲述如何使用Serilog日志类库在mysql数据库中自动创建logs表并将日志写入表中。
vscode是现在较为流行的一款开发工具,他可以按照用户对应需要的语言插件进行自定义安装和配置,在使用vscode的过程中发现终端输出控制台输出稳重会出现中文乱码的情况,网上搜索很多的解决方案都是修改系统的GBK,但是发现在修改了GBK以后可能会造成其他程序出现中文乱码以及其他的一些问题,这里我们使用修改PowerShell的OutputEncoding来解决这个问题。仅win10系统测试有效。
IdentityServer4 是为 Asp.Net Core 2.0+ 系列量身打造的一款基于 OpenID Connect 和 OAuth 2.0 认证框架,官网提供了对应持久化到SQL Server数据库的方法。但是在持久化到Mysql数据库时,会出现 Specified key was too long 的错误。我们可以通过重写 OnModelCreating 方法的方式解决问题。
在使用vscode的过程使用NuGet Package Manager插件安装Package包的时候会出现 "Versioning information could not be retrieved from the NuGet package repository. " 的错误导致无法安装Package包,可以修改fetchPackageVersions.js解决问题。