天天看點

伺服器多個網站開啟quarz,GitHub - WuLex/QuartzSynchroData: 多個不同站點伺服器資料同步到總伺服器(資料中心)...

QuartzSynchroData

多個不同站點伺服器sqlserver資料庫 同步到總伺服器上的資料庫 (資料中心)

目前支援40多個資料庫(在資料庫配置表DBconfig配置了)的同步,每天每個伺服器資料量在幾w條左右,定時同步到資料中心,資料中心大約有2000w條資料記錄,此例子是我修改的,

其實使用這樣的同步方案,裡面存在很多的問題的:

1.性能略低,不過很靈活,字段可以根據模型增加,修改(可以處理異構表,源表和目标表字段不一樣)

2.因為定時器 增删資料,資料中心易産生多餘資料庫日志

#幾點改進--未實作#

1.如果是同構資料庫(因為例子是為了處理資料中心的庫和各站點的庫不完全一緻),完全可以把訂單表也用批量處理

2.(這是最笨的方法)因為一定時間内,訂單(如訂單狀态,使用者修改了電話,位址等 )在不斷改變,是以為了一緻性,必須先删除資料中心原有的訂單,重新把各站點的訂單insert資料中心

(我目前想到未實作的方法)就是各站點的訂單狀态如果改變(update,delete操作時),同時發送對應訂單的(訂單号和資料編号,操作類型)到rabbitmq消息隊列,

rabbitmq消費端內建到另一個Windows服務裡隻做update資料中心對應的那條訂單 ,而代替了不斷的delete和insert操作

QQ:827937686

在實際測試的時候,發現問題還是蠻多的,是以希望專業人士能夠給出好的建議,如果有更好的技術希望能交流分享之,讓此類問題的資料同步能夠更加穩定,謝謝!!