1

我有一個多租戶應用程序,每個租戶/客戶端都有一個壓縮包,其中包含每個公共站點的模板和處理程序。現在我有50個以下的租戶,並且可以在向特定客戶端域的第一次請求後將導入的應用程序保留在內存中。壓縮包和內存存儲策略

這種方法運行良好,但每次我進行更改和/或添加新客戶端時,我都必須重新部署帶有新客戶端壓縮包的應用程序。

現在我正在努力使上傳這些包通過網絡上傳和存儲他們到blobstore。

我擔心現在:

  • 獲得從Blob存儲包當然是比在文件系統中導入壓縮包較慢。 但這不是最大的問題。

  • 如何加載/導入不在文件系統中且沒有路徑的模塊?

  • 如果每個客戶端軟件包都在1mb左右,只要客戶端基數很低,那麼它不是問題,但如果將 提高到1k甚至更多,該怎麼辦?顯然,我沒有足夠的內存在內存中存儲幾GB的數據。 處理這個問題的最好方法是什麼?

  • 如果我使用實例內存在內存中存儲以前的租戶包,如果會有新上傳的包, 會如何使內存中的數據無效?

我會很感激一些關於如何處理這種情況。

+0

您可否詳細說明每個「包裝」中包含的內容?這些只是靜態資產,如圖像或CSS? – Sologoub

+0

它的一個完整的應用程序與處理程序,模板,CSS,圖像... – aschmid00

+0

如此靜態文件和* .py – aschmid00

回答

1

我同意暱稱。租戶特定的zip中不應該有python代碼。解決內存問題,我會緩存數據存儲區中的大部分頁面。爲他們服務,你不需要在你的實例中加載所有的租戶。你也可能想在保存前生成html視圖,而不是根據請求。