-
將多個正在執行的節點掛載到同一個永久性儲存中是不可能的——這是很好的理由,如果它不適用於某些供應商/商店,則在寫入期間您將不得不擔心資料損壞。
-
儲存和為磁碟上的(百萬、十億、萬億量級的)映象提供服務和自治服務並不那麼好玩,並且容易出錯。 您也可能無法像Google一樣快速提供服務。
-
映象處理(調整大小、裁剪和自動定向)是資源密集型的。 在分散式系統中,您希望節點具有最大的吞吐量。

-
建立一個端點以接收完整的映象併傳送至商店。
-
一旦上傳到了bucket,建立一個後臺函式[1]來處理映象。
-
相應地更新持久化儲存併傳送表示處理完成的其它任何冒煙訊號。
-
應用程式必須處理上傳檔案到儲存bucket,這需要您與Google的GCP庫和授權機制對接。當你處理很多上傳時,這可能是一個瓶頸。或者,您可以建立一個新的公共Lambda端點來接受映象,但是您還必須處理應用程式級別的身份驗證(如果需要的話)。
-
如果您想知道處理過的映象何時準備就緒,您必須建立端點以使用流程中的各種更新訊息。
-
建立一個端點來處理必要的認證和要上傳的檔案。
-
將檔案與大小同步地流式傳輸到imageup並接收相應的遠端映象陣列以準備服務。
metadata:
name: imageup-service
annotations:
cloud.google.com/load-balancer-type: "Internal"
-
Docker倉庫,https://hub.docker.com/r/levinteractive/imageup/
-
Kubernetes實現樣例,https://github.com/LevInteractive/imageup/tree/master/examples/k8s
-
Imageup的Github倉庫,https://github.com/LevInteractive/imageup
-
Imageup的node.js介面,https://github.com/LevInteractive/imageup/blob/master/examples/node/imageup.js
-
https://cloud.google.com/functions/docs/writing/background
-
https://github.com/LevInteractive/imageup
-
https://github.com/LevInteractive/imageup/blob/master/examples/k8s/imageup-deployment.yml#L6
-
https://github.com/LevInteractive/imageup/blob/master/docs/api.md