推送工具:webservice
假設接口數:30個
需要做到數據實時推送設置時間為每1分鍾輪訓一次是否有更新數據,如果有,每個接口開啟一個線程,線程保持連接的時間是1.5鍾,
(白天)
對於頻繁更新的數據,長連接
次之的線程,30分鍾的存活時間
少的,只有在訪問的時候開啟,持續的時間是2次輪訓
(夜晚)
次之的線程,30分鍾的存活時間
次之的線程,30分鍾的存活時間
少的,只有在訪問的時候開啟,持續的時間是2次輪訓
技術實現:
每一類的不同連接時長的線程都使用一個group,每個連接都有自己的線程名稱,工具所屬的group限制她的存活時間,如果線程在工作,存活時間重新計數
數據更新到臨時表,是在數據的更新修改刪除時,使用aop的方法,同時將數據插入到臨時表
為什么要使用臨時表,隔離原本的業務數據,防止對業務數據的誤操作
如何做到數據的一致性 :
在臨時表中,還增加了每一個
使用READ COMMITTED事務,webservice服務和業務的服務在一個系統,保證可以做到在同一個事務內進行推送(為什么要做臨時表:若果返回無法傳輸的數據,將該數據刪掉,防止重復提交,同時間該數據保存在日志表)
為了將webservice和業務系統分離開,需要使用到分布式事務,一下是分布式事務的解決方案

問:如何保證中間件宕機后,數據的恢復:中間件的庫有一個時間戳的表,恢復的時間,會根據數據的創建時間去抽取數據
https://www.cnblogs.com/bluemiaomiao/p/11216380.html
業務:抽取的數據是通過不同的數據源,不同的表,進行一個數據的統計,
要做的工作:1、確保數據的抽取的完整性 2、要對數據進行清洗3、對數據進行統計,並記錄結果
對數據的校驗,可以使用並發編程,使用並發包countdowmlatch,進行不同表的檢查
包括:recordCOunt,column schema,size,checksum的檢查醫院加服務站點有兩百多個,一個點有20張表200*20=4000個表需要取數據,校驗要8000次
