我经过搜索,之前没有发现这个问题(与例如Many Custom Domains for AppEngine Instance不同),但是如果我错了,请更正我。

我以前使用过ASP.NET来构建一个Web应用程序,然后由多家公司使用。我使用相同的代码库,并将其部署到相同的IIS网站,但是每个公司都有自己的数据库。收到请求后,我检查请求的主机头并将其映射到内容数据库(这些映射包含在共享配置数据库中)。

这给了我一个维护,修复和部署错误的应用程序,而不同公司的实际数据则完全隔离在不同的数据库中。导出一个公司的数据很容易,并且我可以确保不会意外混合不同公司的数据。

我现在正在考虑用Java / GWT重写此webapp并将其发布在AppEngine上。我的问题是:我该怎么做才能模仿AppEngine上的相同行为?每个公司应该有一个应用程序吗?这意味着我需要多次部署相同的应用程序,每个公司的站点一次。这也意味着每个应用每月至少要花费9美元(我认为AppEngine的免费限制还不够)。是否可以创建一个应用程序,然后将其映射到多个自定义域(就像我今天在.NET-app中所做的那样)?

据我了解Google Apps的想法,管理员应该能够使用AppEngine上的应用程序ID将云应用程序添加到他/她的域中,然后开始使用它。是否支持为已为我的应用程序注册的不同Google Apps域分离数据?我可以以编程方式检查主机头,并像在.NET应用程序中一样对其进行操作吗?我不希望一个域的数据可用于其他域(实际上,在我的情况下这是非常糟糕的:))。

最佳答案

您可以使用namespaces在同一应用程序实例内创建数据的逻辑分隔(即多租户)。

09-30 15:17
查看更多