我想使用 python 構建一個 api 并將其托管在谷歌云上。api基本上會讀取bucket中的一些資料,然后對其進行一些處理并回傳資料。我希望我可以讀取記憶體中的資料,當請求到來時,只需處理它并將回應發送回以低延遲服務它。假設我將從一些資料庫/存盤中讀取幾千條記錄,當請求到來時,根據請求引數處理并發送 10 條記錄。我不想在請求到來時進行連接/讀取存盤,因為這需要時間,我想盡快提供服務。
谷歌云功能可以滿足這種需求嗎?或者我應該使用應用程式引擎。(基本上我希望能夠讀取一次資料并為傳入的請求保留它)。資料大多小于 1-2 GB(最大)
謝謝,馬尼什
uj5u.com熱心網友回復:
您必須在函式代碼中擁有靜態資料。增加 Cloud Functions 記憶體,使其能夠將資料加載到記憶體中以保持資料溫暖并快速訪問資料。
然后,您有兩種方法來實作它:
- 在啟動時加載資料。您只加載它們一次,第一次呼叫具有很高的下載延遲(例如從 GCS 下載)并將資料加載到記憶體中。優點是:在資料更新的情況下,您不必重新部署您的功能,只需更新其位置的資料。在下一個函式啟動時,將加載新資料
- 使用部署中的靜態資料部署函式。這次啟動時間快了很多(沒有下載),只有資料加載到記憶體中。但是當你想更新資料時,你必須重新部署你的函式。
最后一句話,如果你有 2 組靜態資料,你必須有 2 個函式。職責不同,所以部署不同。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/461039.html
上一篇:cron.yamlGCP本地測驗
