2016-05-10 39 views
0

App Engine允許您在單個應用程序中擁有多個模塊。我試圖瞭解這是多少App Engine項目的好處。GAE:多個模塊與多個應用程序

在我的情況,我有三個組成部分

  • 後端組件,做所有的處理,存儲所有數據,並與一個REST API
  • 第一前端訪問(例如,中,請求處理程序)組件根據該可能不需要其自身的數據存儲
  • 下也可能並不需要它自己的數據存儲中的第二域名的第二前端組件的第一域名。

無論我使用多個模塊還是多個應用程序,組件之間的通信都使用HTTP請求完成。

的模塊,所有模塊使用相同的數據存儲和內存緩存,但與不同的項目,他們將各自有自己的內存緩存和數據存儲。我不認爲這對我很重要,因爲只有後端組件需要數據存儲。

我傾向於使用獨立的應用程序,而不是獨立的模塊,因爲它似乎更容易有完全分離。

是否有任何理由,我應該喜歡單獨的應用程序模塊,反之亦然?

+0

如果它可以濫用免費的每日配額,它會針對同一系統使用多個appengine來對抗appengine TOS。 –

回答

1

這個問題有點基於觀點,但有更多的理由使用services(因爲他們現在已知)在單獨的項目

您引用了您的問題的主要原因:共享後端服務。雖然你不認爲的事項,因爲它們很可能不需要數據存儲,我寧願認爲他們可能需要他們的未來比不了(然後還要通過您的其他應用的HTTP接口,而不是直接集成的數據存儲RPC)。

通過在同一項目使用不同服務,你到其他的雲端平臺服務(例如大量查詢)貫穿東西像服務帳戶簡單的訪問中受益。

您還可以得到的東西想通過Modules Service服務發現。如果您要將其部署爲單獨的項目,則App Engine不知道您的項目。

通過使用單獨項目,你會得到幾乎相同的分離爲使用服務,但放棄上述的好處。

有些人可能想使用一個單獨的項目從一個額外的免費28小時的情況下受益,但是這不會是我喜歡一個偉大的長遠設計目標。

+1

使用服務也有一些缺點。如:如果您使用通道API,則只能將數據發送到主服務中的通道,因此主模塊必須是前端。路由不適用於任何事情,它在開發服務器上完全不起作用,因此使用服務進行開發是一件非常痛苦的事情。儘管如此,您仍然會遇到類似的問題,但多個開發人員服我想我想說的是,服務並不像人們所希望的那樣完美。 – konqi

+0

使用開發服務器進行路由的好處,我忘記了Channel API的限制。 – tx802