我对拥有可托管 Glassfish(或 Tomcat)服务器的私有云的方法感兴趣。
Eucalyptus、Openstack 或 Nimbus 中的哪个选项最适合在其上部署 Java 应用程序?或者也许还有其他原因,而我对问题的看法是错误的?
我的想象是,我应该有一些共享存储,可以通过向该集群引入新节点来扩展它,并且可以轻松管理 glassfish 实例:类似于虚拟机映像的东西,我可以根据需要启动和停止它,并且该映像在节点之间共享。
我不需要这里具体的逐步解决方案,但非常欢迎有关如何完成此操作的指导。
答案1
通常,Eucalyptus 和 Openstack 用于扩展服务器实例(或 S3/swift 存储)而不是集群单个应用程序。
因此,如果您希望部署特定 Java 应用程序的集群以实现性能、可靠性和可扩展性,那么对于您提到的两种 Java 应用程序服务器,您应该考虑 Glassfish 服务器集群或 tomcat 集群。
Glassfish 高可用性支持负载平衡glassfish 服务器集群在开源版本中,会话复制和故障转移。您可以使用各种数据库高可用性策略实现进一步的保护,例如MySQL 复制或者一些 NoSQL 或 Postgresql 等效项。
您可以使用以下方法获得类似的结果(有些人会争论...;-)tomcat 会话复制,或其他使用 tomcat 集群的高可用性和故障转移策略。
显然,这很大程度上取决于您要实现的目标以及 Java 应用程序的结构和组件。
答案2
你应该看看像 Cloudify 这样的开放 PaaS,我是它的贡献者之一(见http://www.cloudifysource.org)。使用这种开放的 PaaS 确实可以让您自由选择任何私有云。Cloudify 可以轻松地在任何云上加入任何服务(例如 Websphere)。
答案3
看一眼OpenShift
OpenShift 是 Red Hat 为应用程序提供的免费、自动扩展平台即服务 (PaaS)。作为云端应用程序平台,OpenShift 可管理堆栈,让您可以专注于代码。