0
想象一下將文件上傳到Amazon S3,併成功將文件(和元數據)的位置存儲在ElasticSearch的記錄中。好沒關係。如何保持數據一致? (Amazon S3和ElasticSearch)
但是,你如何確保數據的一致性(ACID?)如果請求的一個失敗... 例如,如果ElasticSearch服務unavailible
- S3的文件必須被刪除
- 但如果S3上的刪除失敗怎麼辦
這會導致不一致的狀態。
所以問題是你如何保持這些實例同步?
思路是:
- 如果有不一致的狀態,用戶請求ElasticSearch記錄,並沒有什麼發現S3的記錄被刪除。 (meeh)
- 批量作業搜索數據庫的不一致性並將其刪除。
- 運行在一個事務中都要求在數據庫中,如果一個失敗 - >回退和稍後重試(隊列,工作=矯枉過正?)