我目前正在考虑部署SOA样式 在云上应用于PAAS。
我正在评估一些PAAS提供商 包括Cloud Foundry,Heroku和Jelastic。
目前,为了简单起见,我只有一个grails应用程序和一个带有嵌入式Jetty服务器的服务jar文件。这将扩展为多个服务和Web前端,中间的服务通过兔子mq和http的混合进行通信。
我现在正在努力了解如何将这些部署到PAAS上的拓扑结构。
我的问题是:
是否必须将所有服务和Web应用程序部署为PAAS中的顶级“应用程序”(例如,可以使用dynos) 在Heroku?)
如果是这样,可以限制对服务的访问,以便只能从webapp(最终网关)向他们发出请求。
它们是否需要作为顶级应用程序存在才能从负载平衡(和自动扩展)中受益,因为每个服务可能有多个实例。
如果每个服务都有自己的数据存储区,我再次假定这需要它是一个应用程序?
如果有办法在不使用每个服务的完整应用程序的情况下实现此目的,那么节点如何单独寻址?他们可以使用某种目录服务注册自己吗?
谢谢!
答案 0 :(得分:5)
我会回答CloudFoundry,因为这是我最熟练的(以及我付出的代价:)。
序言: CloudFoundry有应用程序的概念(运行的代码片段,可能会或可能不会暴露给外部世界即有一个{{1 } 运行时)和服务(数据存储等,RabbitMQ属于该类别)。您部署 apps 并将它们绑定到零个或多个服务。
希望这是有道理的:)