簡體   English   中英

使用雲存儲進行同步

[英]Using Cloud Storage for Synchronisation

我想到了一個應用程序,該應用程序將實現為在雲VM上運行的大量計算繁重的流程。 基本模型是所有進程都可以看到一個共享的數據存儲,其中包含許多大小從幾字節到TB的對象。 每個進程從某種共享隊列中運行作業(通常,一個作業運行至少幾秒鍾,並且可能運行數周),並且每個作業讀取一些對象並創建一些對象(讀取的對象的名稱以及名稱)它創建的對象中的一個是預先已知的)。 在讀取的所有對象可用之前,無法啟動作業。 由於NFS的一致性差,在NFS上的本地群集上執行此操作的一些早期實驗失敗了。 作業A將寫入對象O,然后退出。 調度程序將看到A已退出,而O已創建,並且在某些空閑計算機上啟動B,並且B由於NFS不一致而無法看到對象O。

所以我的問題是,在現代雲世界中,為了避免這些問題,我應該考慮什么類型的存儲或一種存儲解決方案的屬性?

由於分布式計算的並發性而出現此問題。 由於高速緩存或其他原因,一個處理器可能會看到任務已完成,而另一個處理器則看不到。

在真實的雲存儲系統(例如Amazon S3)中,此問題將大大加劇。 這些系統通常具有顯式的“最終一致性”模型,這意味着,如果您上傳某些內容,最終將看到它,但是您不知道何時。

處理它的最佳方法是在處理軟件中,而不是存儲系統中。 如果任務已啟動,但找不到必需的信息,請稍等片刻,然后重試該任務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM