在我部署在 Google App Engine 上的應用程式中,我將用戶上傳的圖片保存在我的檔案系統的公共檔案夾中(使用 Multer)
。現在,如果我部署一個新版本的應用程式,上傳的影像就會丟失,我該如何解決這個問題呢
我是否可以用任何方法來解決這個問題?
是否有任何方法可以讓我部署新版本的應用程式,并保持上傳的影像不變?
基本上,我如何備份我的檔案系統?
uj5u.com熱心網友回復:
App Engine是一個無服務器和無狀態的產品。如果你部署了一個新的版本,你就會丟失鏡像,而且服務規模也會擴大或縮小,或者你的實體因維護而停止,并在其他服務器上重新啟動(Flex應用引擎的情況就是這樣,每周至少重新啟動一次)。
在這種情況下,你的設計對于使用無服務器產品是不正確的。您需要將檔案保存在其他地方,通常是在云存盤中,并從那里加載它們。如果您需要索引、搜索、列出您的檔案,那么將元資料保存在資料庫中也是一種常見的模式,例如云存盤,以便輕松搜索檔案,然后從云存盤中下載檔案。
注意:沒有持久的檔案系統,在無服務器環境中是記憶體檔案系統。如果你存盤了太多的檔案,你也可能出現記憶體不足的錯誤。
標籤:
