推送工具:webservicehtml
假设接口数:30个web
须要作到数据实时推送设置时间为每1分钟轮训一次是否有更新数据,若是有,每一个接口开启一个线程,线程保持链接的时间是1.5钟,编程
(白天)并发
对于频繁更新的数据,长链接分布式
次之的线程,30分钟的存活时间工具
少的,只有在访问的时候开启,持续的时间是2次轮训线程
(夜晚)日志
次之的线程,30分钟的存活时间htm
次之的线程,30分钟的存活时间中间件
少的,只有在访问的时候开启,持续的时间是2次轮训
技术实现:
每一类的不一样链接时长的线程都使用一个group,每一个链接都有本身的线程名称,工具所属的group限制她的存活时间,若是线程在工做,存活时间从新计数
数据更新到临时表,是在数据的更新修改删除时,使用aop的方法,同时将数据插入到临时表
为何要使用临时表,隔离本来的业务数据,防止对业务数据的误操做
如何作到数据的一致性 :
在临时表中,还增长了每个
使用READ COMMITTED事务,webservice服务和业务的服务在一个系统,保证能够作到在同一个事务内进行推送(为何要作临时表:若果返回没法传输的数据,将该数据删掉,防止重复提交,同时间该数据保存在日志表)
为了将webservice和业务系统分离开,须要使用到分布式事务,一下是分布式事务的解决方案
问:如何保证中间件宕机后,数据的恢复:中间件的库有一个时间戳的表,恢复的时间,会根据数据的建立时间去抽取数据
https://www.cnblogs.com/bluemiaomiao/p/11216380.html
业务:抽取的数据是经过不一样的数据源,不一样的表,进行一个数据的统计,
要作的工做:一、确保数据的抽取的完整性 二、要对数据进行清洗三、对数据进行统计,并记录结果
对数据的校验,可使用并发编程,使用并发包countdowmlatch,进行不一样表的检查
包括:recordCOunt,column schema,size,checksum的检查医院加服务站点有两百多个,一个点有20张表200*20=4000个表须要取数据,校验要8000次