我已經編寫了一個應用程序來處理視頻編碼。編碼是一個流水線過程:首先取你視頻,則編碼使用它的ffmpeg,則分割視頻成多個部分,等等如何處理雲上的大容量存儲(或者其他?)
在此過程中,一個1個GB視頻氣球成幾個GB的中間數據。這項服務是爲了讓一個不同的程序(通過RabbitMQ)可以處理每條管道。當然,這個過程不需要這樣運行,這使我想到了我的問題。
我正在尋找使應用程序「生活」的存儲要求。使用雲提供商,您需要支付每GB的存儲空間和每GB的傳輸費用。到現在爲止還挺好。
當我將這1 GB視頻blob從一個雲VM實例轉移到另一個雲,或從VM轉移到公共存儲服務時,是否會計入我的帶寬? (我意識到這個答案會根據主機的服務條款而改變。)
讓1個虛擬機執行整個過程,然後啓動多個實例會更有意義嗎?與僅在管道中執行單個任務的1個VM相反?我在優化成本方面問了這個問題(最低的存儲成本,最低的啓動虛擬機成本,因爲編碼會批量發生,所以我不太在意推出請求快速)。
這種情況是有點獨特的,因爲我有大量的二進制數據,不能有效地存儲在數據庫中。這引發了一個類似的問題:對於那些有經驗的人,當你的數據庫虛擬機將結果發送回你的網絡應用程序時,你是否被要求進行中間傳輸?
我是否問正確的問題?有沒有我應該閱讀的指南,而不是打電話給託管服務提供商,詢問他們自己的定價?
謝謝!我決定的是:我的媒體相關任務可以並行化。但是,「鎖定」的成本 - 將媒體blob從一個階段轉移到另一個階段 - 是巨大的,因爲我將傳輸很多GB數據。因此,啓動一個實例來完成每個進程(從而避免緩慢的數據傳輸)而不是每個階段的多個實例會更有意義。感謝您爲我澄清這一點! – poundifdef 2011-05-06 03:05:03