2023年09月03日億萬城市專案由於需要縮減外網機器, 對資料庫進行遷移,導致外網部分玩家資料異常, 造成一起事故。總結了一下其中發生的問題
1 . 起初考慮熱遷移,但是專案中沒有類似功能支援,所以選擇了停服遷移;(
建議:不論結果如何都產生負面影響,
資料庫熱遷移應該作為專案最基本的研發需求, 在專案啟動初期開始)
1. 資料遷移時間評估錯誤, 遷移資料庫大小約為38g, 期初評估遷移時間為3小時,但遷移過程中發現機器磁碟效能較差,dump資料庫的資料很慢,導致停機時間延長至9個小時左右, 對外網造成比較大影響;(
建議:在遷移比較大的資料庫時, 最好先模擬測試下速度,以便正確評估所需時間和其他運營安排)
2. 資料庫遷移完畢, 用內部多個賬號進行測試, 未發現問題, 然後開服;稍後便有玩家投訴無法進入遊戲, 對玩家資料修復後發現玩家資料有丟失錯亂現象,且無法恢復回滾,最後只能按照投訴逐單進行補償;問題導致原因資料庫的資料和cache中的資料不一致, 遷移後memcache有重啟,導致最終新資料異常(
建議:關聯性很強的資料建議一般不要分開儲存,如果確實需要分開儲存請確保資料落地的一致性,city這邊多塊很強關聯資料放在不同的機器上,且有些有緩寫有些無緩寫,很容易出現關聯不一致問題)
資料庫遷移總結
一。目的 s1111.com.cn s2222.com.cn 為讀庫 m1111.com.cn m2222.com.cn 為寫庫 二。涉及機器 75臺三。製作指令碼,搜尋php,pl,pm,inc中所有包含 1111i的 四。遇到問題。a。路由到新資料庫 b。新資料庫的授權 c。開始資料庫那邊沒設定...
資料庫遷移
這期專案,需要將另外乙個系統a與現有系統b整合,由於時間比較緊,直接採用遷移oracle資料庫物件的方式,發現之前評估的方案不是特別完善,首先 1 a資料庫為gbk編碼,b資料庫是utf 8編碼格式,a資料遷移需要進行中文字段擴容 至少1.5倍 2 a資料庫需要做效能評估,歷史資料遷移涉的方式,兼顧...
資料庫遷移
資料庫遷移 在開發過程中,需要修改資料庫模型,而且還要在修改之後更新資料庫。最直接的方式就是刪除舊表,但這樣會丟失資料。更好的解決辦法是使用資料庫遷移框架,它可以追蹤資料庫模式的變化,然後把變動應用到資料庫中。在flask中可以使用flask migrate擴充套件,來實現資料遷移。並且整合到fla...