QuartzSynchroData
多个不同站点服务器sqlserver数据库 同步到总服务器上的数据库 (数据中心)
目前支持40多个数据库(在数据库配置表DBconfig配置了)的同步,每天每个服务器数据量在几w条左右,定时同步到数据中心,数据中心大约有2000w条数据记录,此例子是我修改的,
其实使用这样的同步方案,里面存在很多的问题的:
1.性能略低,不过很灵活,字段可以根据模型增加,修改(可以处理异构表,源表和目标表字段不一样)
2.因为定时器 增删数据,数据中心易产生多余数据库日志
#几点改进--未实现#
1.如果是同构数据库(因为例子是为了处理数据中心的库和各站点的库不完全一致),完全可以把订单表也用批量处理
2.(这是最笨的方法)因为一定时间内,订单(如订单状态,用户修改了电话,地址等 )在不断改变,所以为了一致性,必须先删除数据中心原有的订单,重新把各站点的订单insert数据中心
(我目前想到未实现的方法)就是各站点的订单状态如果改变(update,delete操作时),同时发送对应订单的(订单号和数据编号,操作类型)到rabbitmq消息队列,
rabbitmq消费端集成到另一个Windows服务里只做update数据中心对应的那条订单 ,而代替了不断的delete和insert操作
QQ:827937686
在实际测试的时候,发现问题还是蛮多的,所以希望专业人士能够给出好的建议,如果有更好的技术希望能交流分享之,让此类问题的数据同步能够更加稳定,谢谢!!