推送工具: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次