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:
如果要輸出到MongoDB請更新以下配置到appSettings.json:
就這點配置文件的改動,其他的無需改動。
具體的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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET Core中使用Dapper操作
- 下一篇: 使用Jenkins来实现内部的持续集成流