2014-04-25 116 views
1

我的工作在GAE上的系統,包括應用服務器,數據存儲,移動應用和Web客戶端上。 我的每一個客戶都需要有一個定製的(獨立)的應用服務器,數據存儲,移動應用程序和Web客戶端。我無法找到我應該如何設計我的系統中的任何信息:GAE - 針對不同客戶的不同項目或針對不同客戶的相同應用的不同版本?

[選項A]: - 單獨的項目,爲每一個客戶,因此應用服務器和數據存儲會專供顧客。從某種意義上說,我是否需要爲我的每個客戶克隆我的基礎項目,然後自定義以擁有單獨的數據存儲區和應用程序服務器?

OR

[選項B]: - 不同版本的應用程序爲每個客戶的同一個項目。在這種情況下,我可以爲每個客戶擁有單獨的(獨家)數據存儲和應用程序服務器嗎?從某種意義上說,我想爲每個客戶提供一個單獨的數據存儲和應用服務器。我不確定我是否可以利用不同的數據存儲區來滿足我的要求。

Option A Option B 我找不到任何引用鏈接來解決我的問題。 任何幫助將不勝感激。

在此先感謝!

回答

1

你應該考慮App Engine的本地support of multitenancy。如果這不符合您的要求,那麼您將不得不爲每個客戶創建一個單獨的項目。單個項目的數據存儲在所有版本之間共享,因此您將無法對其進行細分(除非鏈接文檔中描述的名稱空間正常)。

我還建議確保你確實需要爲每個客戶運行不同的應用程序。除非您註冊premier account,否則您可以創建的項目數量有限。除此之外,它很可能會使這些應用程序的管理變得更加困難。

+0

感謝您answer.I經歷了多租戶文檔,發現使用命名空間API,我可以不污染的中央數據存儲分開的多個客戶端的數據。那麼是不是意味着使用名稱空間api我正在創建同一個數據存儲的分區?那就是如何在多個客戶之間共享數據的情況?還有一個問題說,我有兩個不同的項目,所以我會有兩個不同的數據存儲,比使用名稱空間API可以從另一個應用程序(項目)訪問項目數據存儲? – Dev

+0

名稱空間只是數據存儲實體鍵上的前綴。因此,任何共享和訪問控制實際上都必須由您的應用程序處理。由於名稱空間僅限於單個項目,因此不能使用名稱空間來跨項目。目前從不同項目訪問數據存儲的唯一方法是使用雲數據存儲或遠程API,但不建議從App Engine內部使用這些方法。 –

+1

您在上面的評論中提到,「從不同項目訪問數據存儲的唯一當前方式是使用雲數據存儲或遠程API」.so,這裏術語雲數據存儲意味着應用程序引擎數據存儲?或者它有所不同嗎?請提供一些關於如何使用雲數據存儲訪問(其他項目的)數據存儲的鏈接或教程。 – Dev

相關問題