如何健壯地批量資源創建

批量資源創建是一種典型的數據處理流程。這樣的數據處理流程典型步驟是

  • 加載輸入數據集
  • 遍歷數據集,對每個條目,創建目標資源,目標資源可能是一種,也可能是嵌套的有層次結構的樹狀結構的一系列資源。

這樣的處理流程,如果不做任何錯誤處理,整個程序處於脆弱狀態。應該考慮哪些問題呢?

  • 首先需要考慮的是,輸入數據的格式可能不是標準的,需要在數據集加載部分做好數據格式的標準化,各種異常數據的處理。
    • 數據校驗部分:可以兼容、直接出錯。
    • 格式的標準化:可以直接做一遍處理,也可以轉成某種中間數據格式等待進一步處理。
  • 其次要考慮的是,創建資源的部分可能會出錯。所以需要一開始就假設,創建資源的部分一定會出錯。因此需要做冪等處理。
    • 每個資源創建前,檢查該資源是否已創建成功過,已創建成功的,直接跳過。
    • 每個資源創建後,如果成功創建,要持久化記錄狀態。
    • 每個資源創建,如果失敗,可以直接出錯退出程序,等待診斷問題。

經過這樣的流程,整個程序可以任意多次地重複跑,中間可以任意停機。整個程序符合

  • 冪等:多次執行程序,大體上是效果一致的。
  • 最終一致性:在允許出錯重跑的情況下,最終數據處理流程達到目標。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章