回滾機制


回滾是指當程序/數據出錯時,將數據和程序恢復到最近的一個正確版本的行為。

常見的如事務回滾、代碼庫回滾、部署版本回滾、數據版本回滾、靜態資源版本回滾等。

7.1 事務回滾

  單庫的回滾比較簡單,分布式數據庫,回滾則要使用分布式事務,見分布式事務筆記。底層實現如2PC,3PC長時間阻塞會影響性能。不需要保證強一致性,則使用本地消息表、事務消息、TCC模式、Sagas模式等實現最終一致性。

7.2 代碼庫回滾

7.3 部署版本回滾

  部署版本化:避免只發布修改的類和文件,應該全量發布。保留上次發布的版本,方便直接回滾

  小版本增量發布:小版本指修復BUG或者小功能,增量發布指先發布1台驗證,然后增量發布直至全部發布

  大版本灰度發布:在一個集群中同時部署兩套新舊版本,並行跑一段時間,將流量分發到新舊系統(通過帶版本號的URL等),如果驗證成功則全部切換到新版本

  架構升級並發布:新老版本部署不同集群

7.4 數據版本回滾

   對業務數據中的商品/價格數據,需要進行版本化處理。

7.5 靜態資源版本回滾

  1. 發布新的靜態資源到源服務器

  2. 清理CDN緩存,從而可以回源服務器獲取最新的靜態資源

  3. 在新的URL上添加隨機數並清理瀏覽器緩存


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM