0

我目前正在使用实现多租户单数据库插件的 Grails 创建一个 Web 应用程序。该插件允许我在单个数据库上拥有多个租户,使用租户 ID 来区分租户。该插件检测到女巫租户将通过为每个租户使用不同的域/子域解析来处理在我的应用程序上发出的当前请求。

例如:

  • 租户 1 = companyA.myapp.com
  • 租户 2 = companyB.myapp.com

在我运行 Grails 开发模式的本地机器上,我能够通过更改我的 /etc/hosts 来实现不同的主机,并且每个租户都有自己的子域。

我目前有兴趣使用 Cloud Foundry 作为我的云平台,但是当我将我的应用程序部署到 Cloud Foundry 时,它已经使用我的应用程序名称作为 Cloud Foundry 的子域。

例如: - myapp.cloudfoundry.com

  1. 是否可以更改或控制 Cloud Foundry 中的域名解析器?
  2. 有人知道如何处理上面在云铸造中解释的多租户子域吗?可能提供使用云代工实现这一点的步骤?
  3. 使用云代工来实现这一点的最佳方法是什么?

我的应用程序使用 Grails 2.0.4 和多租户单数据库插件 0.8.2。

谢谢

4

1 回答 1

1

不幸的是,当前的测试版 CloudFoundry 不允许修改 cloudfoundry 子域。计划是在今年年底推出 GA,并在秋季早些时候提供该网站版本的私人预览版。那时您可以自定义子域。因此,您可能需要在 TenantResolver 中进行一些更改,以仅检查变化的子域。

为了实现您的要求,您是否尝试安装 grails cf 插件?如果没有,你可以从这里开始。

如果您使用的是 cli,安装插件只需要在项目工作区中的命令:

grails install-plugin cloud-foundry

当您的应用准备好部署时,将其推送到 cloudfoundry:

grails cf-push

请注意,您必须在 grails 配置文件中配置您的 cf 凭据。之后,您可以映射您想要使用的多个 URL:

grails cf-map user1.yourapp.cloudfoundry.com

如果您已经知道 vmc 是 cf 的客户端命令行界面,您可以通过以下方式查看与您的应用程序映射的 url

vmc apps

如果没有,您可以参考安装指南开始,如果您想这样做。

如果您使用的是 STS/eclipse,事情会更容易。首先,您需要安装 grails-support 扩展以及云代工集成。有关 cf 集成的详细文档,请参阅此处

部署应用程序后,右键单击项目并选择“Grails 工具”->“打开 Grails 命令提示符”。这将使您能够拥有与 CLI 相同的 grails cf 插件命令。

希望这可以帮助您在 Cloudfoundry 世界中前进。如果您有更多问题,请告诉我。

谢谢,威廉

于 2012-08-24T18:22:21.520 回答