[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,緩存刷新等等?

(一)定義需要監聽表的實體類?

887a04377c80e25d3a82d168361d66b8.png

[Display]和[Identity]屬于Kogel.Dapper.Extension的特性如果[想了解更多請點擊],[ElasticsearchType]和[Nest.PropertyName]屬于Elasticsearch特性,如果沒用到可以忽略?

(二)定義表訂閱

262dbfbc4957f11b24043470e3e0d3cc.png

如果需要此表對應多張分表可以設置

ac08cc219a1fa929f0b1b088f67cf046.png

(1).如果想推送訂閱到RabbitMQ中

9ba9e4761c7abda3e797e652a5d1375c.png

可以通過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

62b60e0d98548083ab3cb1f233305f3e.png

并且ES索引不存在的時候會動態創建?

(4).如果想自定義實現訂閱邏輯,在可以Subscribe訂閱類中重寫

afe033ca9f62d81d95b872df2085b8da.png

以上訂閱的優先級:

abeb46fc2db587f4bbdec7d3299a1559.png

(三)訂閱啟動

啟動監聽所有繼承自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,例如

5b6cb56e107a86b03b3784a53d6f24ed.png

關閉監聽,在應用程序退出時執行即可

ApplicationProgram.Close();

(四)其他配置

5711838e3cfe98ad42edb368c4aa22b4.png

框架開源,完整框架源碼可以去Github上下載:

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

如有問題也可以加QQ群討論:

技術群 710217654

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/280780.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/280780.shtml
英文地址,請注明出處:http://en.pswp.cn/news/280780.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java instanceof運算符

instanceof 運算符 該運算符用于操作對象實例&#xff0c;檢查該對象是否是一個特定類型&#xff08;類類型或接口類型&#xff09;。 instanceof運算符使用格式如下&#xff1a; ( Object reference variable ) instanceof (class/interface type) 如果運算符左側變量所指的對…

C# XML添加刪除/SelectNodes/xpath

SelectNodes中的XPath //從當前節點的兒子節點中選擇名稱為 item 的節點。 SelectNodes("item")//從根節點的兒子節點中選擇名稱為 item 的節點。 SelectNodes("/item")// 從任意位置的節點上選擇名稱為 item 的節點。要重點突出這個任意位置&#xff0c;…

Python中*args 和**kwargs的用法

http://blog.csdn.net/chenjinyu_tang/article/details/8136841 好久沒有學習python了&#xff0c;應為工作的需要&#xff0c;再次拾起python&#xff0c;喚起記憶。 當函數的參數不確定時&#xff0c;可以使用*args 和**kwargs&#xff0c;*args 沒有key值&#xff0c;**kwar…

MFC載入JPG圖片

## 1.定義畫圖函數 HRESULT CIPCamDlg::draw(char *lpImageFile, HWND hWnd, int nScrWidth, int nScrHeight) {HDC hDC_Temp::GetDC(hWnd);IPicture *pPic; IStream *pStm;BOOL bResult;HANDLE hFileNULL; DWORD dwFileSize,dwByteRead;hFileCreateFile(lpImageFile,GENERIC_R…

DLR 的擴展庫 Dynamitey

.NET 在 CLR 對動態語言或者腳本語言的支持是通過DLR 完成的&#xff0c; Miguel de Icaza對 DLR 的特點概括如下&#xff1a;一個針對動態語言的共享式類型系統&#xff1b;一個共享的 AST&#xff0c;可以被語言開發人員用來創建新的動態語言&#xff1b;針對編譯器開發人員的…

MFC 單選按鈕Radio使用注意

使用MFC Radio時遇到問題&#xff1a;數據交換時出現斷言崩潰框 定位于&#xff1a; 解決方法&#xff1a; 1、按CTRLD&#xff0c;保證同一組內的radio的tab序號是連續的&#xff1b; 2、同一組內&#xff0c;設置 radio1的屬性&#xff1a; group、tabstop、auto均為true&am…

C# 字符串操作:split、substring、Format

1.split split可以使用多個字符切割。 "test[12]"切割后是3個字符串&#xff0c;最后一個為空。 string testString "test[12]";string[] testData testString.Split([,]);int testLength testData.Length;Console.WriteLine(testLength.ToString());…

flac格式轉換mp3格式_MP3,FLAC和其他音頻格式之間有什么區別?

flac格式轉換mp3格式Digital audio has been around a very long time so there’s bound to be a plethora of audio formats out there. Here are some of the more common ones, what differentiates them, and what to use them for. 數字音頻已經存在了很長時間&#xff…

Kubernetes:Flomesh 服務網格與多集群通信

Kubernetes 成功普及了容器集群的概念。許多用戶已經在多個集群中部署應用&#xff0c;組織需要運行多個 Kubernetes 集群可能來自以下原因&#xff08;并非詳盡列表&#xff09;&#xff1a;? 位置? 延遲&#xff08;盡可能在靠近客戶的地方運行應用程序&#xff09;? 管轄…

Java四種線程池的使用

FixedThreadPool 由Executors的newFixedThreadPool方法創建。它是一種線程數量固定的線程池&#xff0c;當線程處于空閑狀態時&#xff0c;他們并不會被回收&#xff0c;除非線程池被關閉。當所有的線程都處于活動狀態時&#xff0c;新的任務都會處于等待狀態&#xff0c;直到有…

袁永福軟件行業從業經歷

簡化版》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》 袁永福簡歷 袁永福&#xff0c;男&#xff0c;1980年生于江西省九江市都昌縣&#xff0c;2001年南京東南大學動力工程系本科畢業。畢業后一直從事計算機軟件開發工作&…

小程序之地圖導航

同學們平常使用地圖的時候應該都有注意到&#xff0c;當我們在一個應用中選擇一個地址&#xff0c;打開一個地圖&#xff0c;往往會有兩種顯示方式&#xff0c;一個是顯示當前自己的位置&#xff1b;一個是顯示對方&#xff0c;也就是目的地的位置&#xff1b;如下圖&#xff1…

PS2019攝影后期處理(一)

高高手之路筆記 一、學習方法 內外兼修&#xff1a;技術會淘汰、更新&#xff0c;自己內在也要提高。 二、照片格式、色彩空間 JPEG TIFF RAW sRGB&#xff1a;互聯網相關圖片&#xff0c;電子設備 三、照片風格 自己定義照片格式&#xff0c;直接后期效果 相機自帶工具&a…

mdnsresponder_什么是mDNSResponder.exe / Bonjour,如何卸載或刪除它?

mdnsresponderYou are no doubt reading this article because you’ve noticed the mDNSResponder.exe process running in Task Manager, you don’t remember installing it, and it doesn’t show up in the Add/Remove programs in Control Panel. So what is it, and how…

Windows 10下,如何使用PowerShell批量重啟局域網電腦

PowerShell 在Windows 10中越來越受到微軟重視&#xff0c;甚至被微軟安排在開始按鈕超級菜單中替換了一直以來默認的命令提示符(當然還可以換回去)&#xff0c;這和該工具越來越強大密不可分。這次就介紹一個“群重啟”命令&#xff0c;可讓局域網內的電腦集體重啟。1、單機重…

.NET MAUI學習指南

由于.NET MAUI這項技術出來不久相關的學習資源暫時除了官網以外沒有太好的學習資源&#xff0c;這篇文章主要向大家分享幾種學習.NET MAUI的學習途徑&#xff0c;如果有好的學習資源歡迎大家私信給我然后更新到后續的文章里。&#xff08;以下推薦學習途徑均為免費且無廣告的資…

循序漸進DB2(第2版)——DBA系統管理、運維與應用案例

《循序漸進DB2(第2版)——DBA系統管理、運維與應用案例》基本信息作者&#xff1a; 牛新莊出版社&#xff1a;清華大學出版社ISBN&#xff1a;9787302323013上架時間&#xff1a;2013-7-3出版日期&#xff1a;2013 年7月開本&#xff1a;16開頁碼&#xff1a;612版次&#xff1…

Oracle Unicode轉中文(解碼)

Oracle Unicode轉中文&#xff08;解碼&#xff09; CreateTime--2018年3月29日15:23:30 Author:Marydon 情景描述&#xff1a; 將數據庫中的某個字段誤存儲的是Unicode編碼&#xff0c;需要將其改成中文。 測試&#xff1a; --將Unicode轉中文 select unistr(REPLACE(\u6d4b\u…

PS2019攝影后期處理(二)

一、曲線 二、曲線與通道 三、HSL局部調整 色相、飽和度、亮度 a.色相&#xff1a;一個顏色&#xff0c;帽子是紅色 b.飽和度&#xff1a;樹木蔥郁一點 c.飽和度&#xff1a;衣服連桿 便黑白&#xff1a; 1.調低所有飽和度 2.將某個顏色飽和度提高&#xff0c;再轉灰度。…

管理員獲得所有權_在Windows 7中獲得注冊表項的所有權

管理員獲得所有權We have previously written about how to take ownership of files and folders in Windows 7, but there may be times when you need to take ownership of or assign full permission for certain registry keys. This article shows you how to do this. …