[Kogel.Subscribe.Mssql]SQL Server增量订阅,数据库变更监听

此框架是SQL Server增量订阅,用来监听增删改数据库数据变更

目前仅支持SQL Server,后续会支持 MySQL 和 Oracle,Nuget 上可以下载安装

或者使用 Nuget 命令添加包

dotnet add package Kogel.Subscribe.Mssql –version 0.0.0.1

可以用来处理 DB 主从同步,跨库同步,数据备份,同步 ES,缓存刷新等等

(一)定义需要监听表的实体类

[Kogel.Subscribe.Mssql]SQL Server 增量订阅,数据库变更监听

[Display]和[Identity]属于 Kogel.Dapper.Extension 的特性如果[想了解更多请点击],[ElasticsearchType]和[Nest.PropertyName]属于 Elasticsearch 特性,如果没用到可以忽略

(二)定义表订阅

[Kogel.Subscribe.Mssql]SQL Server 增量订阅,数据库变更监听

如果需要此表对应多张分表可以设置

[Kogel.Subscribe.Mssql]SQL Server 增量订阅,数据库变更监听

(1).如果想推送订阅到 RabbitMQ 中

[Kogel.Subscribe.Mssql]SQL Server 增量订阅,数据库变更监听

可以通过 BuildTopic 设置交换机名称

builder.BuildTopic(“kogel_subscribe_order_detail”)

(2).如果想推送订阅到 Kafka 中

builder.BuildKafka(new ProducerConfig
{
BootstrapServers = “localhost:9092”,
Acks = Acks.None
})

可以通过 BuildTopic 设置 Topic 名称

builder.BuildTopic(“kogel_subscribe_order_detail”)

(3).如果想推送订阅到 Elasticsearch 中

builder.BuildElasticsearch(new ElasticsearchConfig<OmsOrderDetail>
{
Settings = new Nest.ConnectionSettings(new Uri(“http://localhost:9200/”)),
})

如果有设置 Basic 授权

builder.BuildElasticsearch(new ElasticsearchConfig<OmsOrderDetail>
{
Settings = new Nest.ConnectionSettings(new Uri(“http://localhost:9200/”))
.BasicAuthentication(“账号”,”密码”)
})

如果想根据自己定义的分片逻辑插入到多个 ES 索引中可以通过 WriteInterceptor

[Kogel.Subscribe.Mssql]SQL Server 增量订阅,数据库变更监听

并且 ES 索引不存在的时候会动态创建

(4).如果想自定义实现订阅逻辑,在可以 Subscribe 订阅类中重写

[Kogel.Subscribe.Mssql]SQL Server 增量订阅,数据库变更监听

以上订阅的优先级:

[Kogel.Subscribe.Mssql]SQL Server 增量订阅,数据库变更监听

(三)订阅启动

启动监听所有继承自Subscribe<T>的类,在应用程序启动时执行即可

ApplicationProgram.Run();

启动前需要确保 DB 已经开启了SQL Server Agent

windows 环境可以通过 cmd 命令开启

net start SQLSERVERAGENT

linux 或 docker 环境可以通过以下命令开启

/opt/mssql/bin/mssql-conf set sqlagent.enabled true

如果是基础 BaseSubscribe<T>中间基类需要定义成 abstract,例如

[Kogel.Subscribe.Mssql]SQL Server 增量订阅,数据库变更监听

关闭监听,在应用程序退出时执行即可

ApplicationProgram.Close();

(四)其他配置

[Kogel.Subscribe.Mssql]SQL Server 增量订阅,数据库变更监听

框架开源,完整框架源码可以去 Github 上下载:

https://github.com/a935368322/Kogel.Subscribe.Mssql

 

© 版权声明

☆ END ☆
喜欢就点个赞吧
点赞0 分享
图片正在生成中,请稍后...