關於億級賬戶資料遷移,你應該試試這種方法...
一般資料遷移是透過資料庫相關工具進行操作,具體可以參考《21世紀了還愚公移山?資料庫這麼遷移更快!》。但閒魚幣資料遷移卻不同,首先“KingTower”平臺的資料結構和“半兩”平臺的資料結構不同;其次出於對資料安全和穩定性的考慮,兩個積分平臺只對外提供服務介面,不允許業務方直接操作平臺資料庫。這就意味著閒魚幣遷移無法利用資料庫工具,只能透過兩個平臺提供的服務介面完成遷移工作。本文將結合閒魚幣遷移過程,提供一種基於服務介面的資料遷移方案,在使用者無感知的情況下完成遷移目標。
主動遷移和被動遷移最終目的都是把使用者資料從老積分賬戶資料遷移到新積分上,兩種方式各有自己的應用場景,主動遷移主要適用於遷移活躍使用者和新增使用者,被動遷移主要適用於遷移存量使用者。兩種遷移遇到的技術難點是一樣的。第一併發處理,在上面兩種方案只展示了遷移過程中要獲取全域性分散式鎖,對於未遷移的使用者在進行加減操作時候同樣也要獲取全域性鎖,具體如下圖所示,這樣才能保證遷移過程中不產生髒資料,本文中的全域性鎖使用的是Redis實現,這裡不再贅述。
第二操作事務性,本文的遷移方案中只有當寫入遷移完成標記才算是遷移成功,在這一步前的其他每一步都有可能由於RPC呼叫產系統異常或超時錯誤,所以為了保證操作事務性,對於任何一步出錯本次遷移都算失敗,失敗的使用者將會進行下面的遷移重試流程。
切換過程採用逐步放量的形式,灰度方式很多我們採用的是先白名單驗證,然後使用者ID取模1000逐步放量的方式。值得注意的一點是讀灰度和灰度要分開進行,當對賬沒有問題的時候就可以開啟讀灰度了,在讀灰度過程中仍舊保持雙寫,此時如果讀灰度發現問題,仍舊可以回滾會老的服務。但是單寫新服務開始後就無法進行回滾,所以在寫灰度前需要充分白名單驗證。
無需關心底層資料儲存,只需做好上層業務邏輯相容即可。
遷移過程可控,透過多維度的遷移監控及早發現問題。
遷移過程受到服務方QPS限制,遷移週期長
遷移過程都是RPC呼叫,需要處理多種異常情況。
閒魚技術團隊不僅是阿里巴巴集團旗下閒置交易社群的創造者,更是移動與高併發大資料應用新技術的引導者與創新者。我們與Google Flutter/Dart小組密切合作,為社群貢獻了多個高star的專案和大量PR。我們正在積極探索深度學習和視覺技術在互動、交易、社群場景的創新應用。閒魚技術與集團中介軟體團隊共同打造的FaaS平臺每天支援數以千萬級使用者的高併發訪問場景。
就是現在!客戶端/服務端java/架構/前端/質量工程師面向社會+校園招聘,base杭州阿里巴巴西溪園區,一起做有創想空間的社群產品、做深度頂級的開源專案,一起擴充技術邊界成就極致!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900359/viewspace-2697380/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 遷移或升級後你應該如何調整你的資料
- oracle xtts資料庫遷移方法測試之一OracleTTS資料庫
- 關於DNS,你應該知道這些DNS
- 圖床失效了?也許你應該試試這個工具圖床
- 測試環境的遷移式升級和資料整合
- 關於資料遷移的方法、步驟和心得
- 遷移式升級的測試
- clickhouse 億級資料效能測試
- 遊戲難以變現?或許你應該試下這5個方法遊戲
- 遷移式升級的測試(二)
- 遷移式升級的測試(三)
- 關於禪道的資料遷移
- 關於大資料測試,你一定要試試python的fake庫大資料Python
- Core Data資料遷移及單元測試
- expdp 遷移測試
- 行遷移測試
- Mysql資料遷移方法MySql
- 關於 NoSQL 資料庫你應該瞭解的 10 件事SQL資料庫
- 同位元組序跨平臺資料庫遷移和升級的測試資料庫
- 如果這10道關於資料庫的測試題你都會,面試必過!資料庫面試
- 跪求關於〖執行緒遷移〗的相關資料!執行緒
- Oracle資料庫升級或資料遷移的方法探討Oracle資料庫
- 請問自動化測試應該測試非法資料嗎
- 關於 jwt ,你應該知道的JWT
- 關於 JavaScript 中的特殊函式,你應該這樣看JavaScript函式
- 關於Java面試,你應該準備這些知識點Java面試
- 這款資料庫管理工具你一定要試試!資料庫
- 忘記Rxjava吧,你應該試試Kotlin的協程RxJavaKotlin
- 賬號遷移
- 關於資料科學家,我們應該知道的這些事資料科學
- 為什麼你應該嘗試 “全棧”全棧
- 為什麼你應該嘗試“全棧”全棧
- 關於資料庫使用impdp+network_link遷移時,job的遷移資料庫
- Oracle rman duplicate遷移測試Oracle
- PostMan newman測試介面遷移Postman
- 關於大資料你應該瞭解的五件事兒大資料
- 關於大資料,你應該知道的75個專業術語大資料
- 伺服器資料遷移的方法-硬體不同如何遷移資料伺服器