我搜索过,之前没有找到这个问题(这与例如Many Custom Domains for AppEngine Instance不一样)但请纠正我,如果我错了。
我之前使用ASP.NET构建了一个Web应用程序,然后由几家公司使用。我使用相同的代码库,并将其部署到同一个IIS网站,但每个公司都有自己的数据库。收到请求后,我检查请求的主机头并将其映射到内容数据库(映射包含在共享配置数据库中)。
这给了我一个应用程序来维护,修复和部署错误,而不同公司的实际数据在不同的数据库中完全分开。导出一个公司的数据很容易,我觉得安全,不会意外地混合不同公司的数据。
我现在正在考虑在Java / GWT中重写这个webapp并在AppEngine上发布它。我的问题是:我可以做些什么来模仿AppEngine上的相同行为?我应该为每家公司提供一个应用吗?这意味着我需要多次部署相同的应用程序,每个公司的站点一次。这也意味着每个应用程序至少要花费9美元/月(我不认为AppEngine的免费限制就足够了)。是否可以创建一个应用程序,然后将其映射到多个自定义域(就像我今天在.NET应用程序中那样)?
根据我了解Google Apps的想法,管理员应该能够使用AppEngine上的应用ID将云应用添加到他/她的域中,然后开始使用它。是否支持为已注册我的应用的不同Google Apps域启用数据分离?我可以以编程方式检查主机头,并像在.NET应用程序中那样对其进行操作吗?我不希望一个域数据可用于其他域(事实上,在我的情况下,这将非常糟糕:))。