CanalSharp.AspNetCore v0.0.4-支持输出到MongoDB
一、多样输出支持
CanalSharp.AspNetCore是一个基于CanalSharp的适用于ASP.NET Core的一个后台任务组件,它可以随着ASP.NET Core实例的启动而启动,目前采用轮询的方式对Canal Server进行监听,获得MySql行更改(RowChange)后写入MySql指定的记录表中。在此次更新中,可以支持写入MongoDB数据库了,换句话说,可以支持MySql或MongoDB二选一的输出方式了。
这个项目的GitHub地址为:https://github.com/XiLife-OSPC/CanalSharp.AspNetCore
二、新的配置内容
为了同时支持MySql及MongoDB,请更新CanalSharp.AspNetCore至0.0.4版本:
然后,如果要输出到MySql请更新以下配置到appSettings.json:
"Canal": {
"Enabled": true,
"LogSource": "Core.Product.Canal",
"ServerIP": "192.168.16.190", // Canal-Server IP
"ServerPort": 8001, // Canal-Server 端口号
"Destination": "products", // 与Canal-Server中配置的destination保持一致
"Filter": "xdp_products_dev\\..*", // 与Canal-Server中配置的filter保持一致
"SleepTime": 100, // 空闲时间睡眠时间
"BufferSize": 2048, // 如果涉及到更改的数据量较大请将BufferSize设大一些
"Output": {
"MySql":{
"ConnStr": "Server=192.168.16.150;Port=3306;Database=products_dev;Uid=dev;Pwd=xdp" // 要输出的日志记录表所在的MySql连接字符串
}
}
}
如果要输出到MongoDB请更新以下配置到appSettings.json:
"Canal": {
"Enabled": true,
"LogSource": "Core.Product.Canal",
"ServerIP": "192.168.16.190", // Canal-Server IP
"ServerPort": 8001, // Canal-Server 端口号
"Destination": "products", // 与Canal-Server中配置的destination保持一致
"Filter": "xdp_products_dev\\..*", // 与Canal-Server中配置的filter保持一致
"SleepTime": 100, // 空闲时间睡眠时间
"BufferSize": 2048, // 如果涉及到更改的数据量较大请将BufferSize设大一些
"Output": {
"Mongo": {
"ConnStr": "mongodb://192.168.16.150:27017",
"DataBase": "xdp_behaviors_dev"
}
}
}
就这点配置文件的改动,其他的无需改动。
具体的Sample示例可以参考这里:CanalSharp.AspNetCore.Sample
三、效果演示
当在指定要监听的数据库对某张表的某行数据进行Update或Delete操作后,又或者进行Insert行操作后。
3.1 MySql
如果选择输出到MySql数据库,那么canal.logs表(该表会自动创建)会自动记录变更的记录数据如下图所示:
PS:INSERT操作会记录新增的数据行数据到CurrentValue列, DELETE操作会记录删除的数据行数据到PreviousValue列, UPDATE操作则会记录修改前PreviousValue和修改后的值CurrentValue。
3.2 MongoDB
如果选择输出到MongoDB,那么会自动记录变更数据到你指定的数据库中的changelogs中如下图:
就这样吧,Code仍然很乱,也没时间去优化了,先就这样将就用吧。
CanalSharp.AspNetCore v0.0.4-支持输出到MongoDB相关推荐
- Excel(XLSX/XLS)文件内容导入WEB表单,纯前端无需服务器支持,开源Chrome扩展 v0.0.8,附下载,附github链接(2021/5/8更)
起因 老婆从事的是售后的工作,常年需要把售前工程师和销售的一些实施的数据录入到他们的工作平台上. 最开始我看在眼里,焦虑在心上,我心想,你这完全是人力无价值的搬运工的(excel到网页表单)工作,你们 ...
- 一个实时收集MySql变更记录的组件CanalSharp.AspNetCore
一.关于CanalSharp CanalSharp 是阿里巴巴开源项目 Canal 的 .NET 客户端.为 .NET 开发者提供一个更友好的使用 Canal 的方式.Canal 是mysql数据库b ...
- 【纯技术贴】.NETStandard FreeSql v0.0.9 功能预览
年关将至,首页技术含量文章真是越来越少,理解大家盼着放假过年,哥们我何尝不是,先给大家拜个早年. 兄弟我从11月底发了神经,开启了 ORM 功能库的开发之旅,历时两个月编码和文档整理,目前预览版本更新 ...
- 2018-10-19 Chrome插件实现GitHub代码离线翻译v0.0.4
续前文Chrome插件实现GitHub代码翻译v0.0.3. 添加了对驼峰命名的支持. 由于调用浏览器插件-离线英汉词典进行词汇翻译, 因此也不依赖于任何在线翻译服务. Chrome插件: 官网链接 ...
- .NETStandard FreeSql v0.0.9 功能预览
年关将至,首页技术含量文章真是越来越少,理解大家盼着放假过年,哥们我何尝不是,先给大家拜个早年. 兄弟我从11月底发了神经,开启了 ORM 功能库的开发之旅,历时两个月编码和文档整理,目前预览版本更新 ...
- DCMTK3.6.0(MD支持库)安装说明-无图版
不知道为啥ItEye只能显示日志文字的部分内容,本篇日志完整版,可以看我的最新博客地址: 网易博客地址:DCMTK3.6.0(MD支持库)安装说明 一.运行环境:WIN7 32bit + Visual ...
- DCMTK3.6.0(MD支持库)安装说明
前言: 虽然写了这么一大堆,实际过程很简单,大家耐心看完,绝对能成功.我已经在我的办公电脑和我的影像工作站上,都成功实现了.(简单文字版,请看这篇<DCMTK3.6.0(MD支持库)安装说明-无 ...
- DCMTK3.6.0 (MT支持库)安装 完整说明
6月7日 13:58 更新 MD项目的,请参考这篇 <DCMTK3.6.0(MD支持库)安装说明> 6月6日晚22:38更新 经过2天冥思苦想都没解决的问题,在我晚上打完乒乓球之后,终于解 ...
- 国内的知名产品及其开发语言v0.0.1
首先要声明的是:这个列表既不权威,也不全面,所有信息仅供参考,本人也不对由此导致的任何后果负任何责任. 建立这个列表的初衷来自三个方面: 一个是很多人在加入程序员这个行业前,需要对编程语言有一个大致的 ...
最新文章
- Unity的Deferring the Resolution of Objects
- 关于ERP、MES、SFC问题
- iPad上面的扫描加水印免费软件推荐
- vue 仿二手交易app_项目vue2.0仿外卖APP(七)
- WinPcap获取网卡的更多信息
- ppt格式刷快捷键_普通人 | 4个我在知乎上都没有见过的PPT实用技巧
- Codeforces 295A. Greg and Array
- TypeScript泛型接口
- python之三元表达式嵌套三元表达式解析
- TermuxArch安装java_高级终端Termux安装并使用
- UVA - 10820欧拉函数的应用
- 华为云IoT体验:基于IoT平台构建智慧路灯应用
- MT4跟单软件多帐户跨平台如何解决喊单账号与跟单账号个别品种合约数量不一致的问题?——Hookswork
- 当生命科学遇上AI,会产生怎样1+1>2的效果?
- C语言大一上学期总结
- Redis面试宝典12道法
- ASP.Net: EshineASPNet教程-支付机构支付模块
- win7下docker配置加速器
- 项目docker容器化部署步骤
- 知乎热议 | 何恺明 新作 如何?
热门文章
- geek_How-To Geek正在寻找安全作家
- MAVEN简介之——settings.xml
- Unexpected end of JSON input while parsing near错误解决方式(网上的方法)
- Android Studio3.0简介
- python字符串格式化方法 format函数的使用
- Idea maven项目不能新建package和class的解决
- linux--web服务器
- Vim as Python IDE on windows
- 【C#/.NET】不用AutoMapper,我用啥呢?
- 叮,您有一份ML.NET 速查手册请查收!