QuartzSynchroData
多個不同站點伺服器sqlserver資料庫 同步到總伺服器上的資料庫 (資料中心)
目前支援40多個資料庫(在資料庫配置表DBconfig配置了)的同步,每天每個伺服器資料量在幾w條左右,定時同步到資料中心,資料中心大約有2000w條資料記錄,此例子是我修改的,
其實使用這樣的同步方案,裡面存在很多的問題的:
1.性能略低,不過很靈活,字段可以根據模型增加,修改(可以處理異構表,源表和目标表字段不一樣)
2.因為定時器 增删資料,資料中心易産生多餘資料庫日志
#幾點改進--未實作#
1.如果是同構資料庫(因為例子是為了處理資料中心的庫和各站點的庫不完全一緻),完全可以把訂單表也用批量處理
2.(這是最笨的方法)因為一定時間内,訂單(如訂單狀态,使用者修改了電話,位址等 )在不斷改變,是以為了一緻性,必須先删除資料中心原有的訂單,重新把各站點的訂單insert資料中心
(我目前想到未實作的方法)就是各站點的訂單狀态如果改變(update,delete操作時),同時發送對應訂單的(訂單号和資料編号,操作類型)到rabbitmq消息隊列,
rabbitmq消費端內建到另一個Windows服務裡隻做update資料中心對應的那條訂單 ,而代替了不斷的delete和insert操作
QQ:827937686
在實際測試的時候,發現問題還是蠻多的,是以希望專業人士能夠給出好的建議,如果有更好的技術希望能交流分享之,讓此類問題的資料同步能夠更加穩定,謝謝!!