我目前正在考虑将 SOA 风格的应用程序部署到云上的 PAAS 中。
我正在评估一些 PAAS 提供商,包括 Cloud Foundry、Heroku 和 Jelastic。
目前,为了简单起见,我只有一个 grails 应用程序和一个带有嵌入式 Jetty 服务器的服务 jar 文件。这将扩展为多个服务和 Web 前端,中间有一种服务方式,所有通过 rabbit mq 和 http 的混合进行通信。
我目前正在努力了解如何将这些部署到 PAAS 上的拓扑。
我的问题是:
是否必须将所有服务和 Web 应用程序部署为 PAAS 中的顶级“应用程序”(例如,dynos 可以在 Heroku 中使用吗?)
如果是这样,是否可以限制对服务的访问,以便只能从 webapp(最终网关)向它们发出请求。
它们是否需要作为顶级应用程序存在才能从负载平衡(和自动缩放)中受益,因为每个服务可能有多个实例。
如果每个服务都有自己的数据存储,我再次假设这需要它是一个应用程序?
如果有一种方法可以在不为每个服务使用完整应用程序的情况下实现这一点,那么节点如何单独寻址?他们可以使用某种目录服务注册自己吗?
谢谢!