日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CanalSharp.AspNetCore v0.0.4-支持输出到MongoDB

發布時間:2023/12/4 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。