【问题标题】:JavaEE cluster vs PaaSJavaEE 集群与 PaaS
【发布时间】:2014-09-02 22:25:35
【问题描述】:

几年以来,我一直在使用 Java 开发 Web 应用程序,并在 Tomcat 上进行部署。最近,我和我的客户对由于服务器上的硬件故障导致的停机以及每次我进行修复时都必须重新部署应用程序感到恼火。

我希望我将开发的下一个应用程序具有高可用性。现在我觉得我面临两个选择:

1- 做一个无状态应用程序并使用像 heroku 这样的 PaaS,或者可能在我自己的服务器上管理多个实例

2- 使用 JavaEE 创建有状态应用程序并部署在应用程序服务器集群上

作为一名开发人员,我真的很想专注于应用开发而不是基础架构。所以无状态+云服务似乎是要走的路。

另一方面,我真的很喜欢有状态的应用程序,因为我发现以这种方式进行开发要容易得多。

那么问题来了:管理和设置 JavaEE 集群有多难?我可能会选择 wildfly 作为应用程序服务器。我从很多人那里听说这真的很痛苦:管理 linux 服务器、配置 AS、故障排除、管理集群等。

真的需要一个熟练的人来处理企业服务的集群吗?我曾经认为这就像在机器上安装 AS 一样简单,做几分钟的配置,然后让它运行。

感谢您的关注。

【问题讨论】:

    标签: jakarta-ee heroku wildfly paas


    【解决方案1】:

    对不起 user3832044,但我不明白您对“无状态”和“有状态”应用程序的概念。看来您的问题是基础架构问题,而不是应用程序问题。

    所以,回答你的问题... “管理和设置 JavaEE 集群有多难?” 像造木筏一样难。如果你知道该怎么做,那并不难。 这完全取决于您作为系统管理员的技能。

    有很多方法可以解决您的问题,您甚至不需要离开 Tomcat,因为它支持集群和负载平衡。

    我建议您阅读有关高可用性的文章,以收集有关该主题的一些一般知识,然后将其应用于 Tomcat。

    给你一个例子。您可以有几个 Apache http 实例在您的实例前面进行负载平衡。您可以停止其中一个实例并部署新应用,然后交换实例并更新第二个。

    请记住,这个例子对于一个简单的环境来说是一个非常简单的过程。在更复杂的环境中,事情会变得非常棘手。

    这里有一个快速指导,可以帮助您进行负载平衡。 http://www.ntu.edu.sg/home/ehchua/programming/howto/ApachePlusTomcat_HowTo.html

    【讨论】:

    • 感谢您的回复。我知道 tomcat 支持会话复制,但我更愿意使用应用程序服务器来做这件事,因为如果我碰巧开发需要状态的应用程序,我可以使用 JSF 和 EJB 等框架。如果我正确理解 tomcat 集群的工作原理,我将不得不将所有内容附加到用户会话。
    • 关于 Tomcat 上的集群和负载平衡有时会出现混淆。尽管它们相互重叠,但它们是不同的东西。负载平衡实际上是由 Apache httpd(web 服务器)和背后的 tomcat 实例完成的,甚至不需要相互了解。集群是指您的 Tomcat 实例彼此了解,因此能够在集群中进行会话复制和部署等。RE 应用程序状态,我认为您误解了应用程序状态。许多主要应用程序仅使用 Tomcat 运行。我使用完整的应用服务器,但 Tomcat 也能正常工作。
    猜你喜欢
    • 2011-11-28
    • 2021-01-06
    • 2019-05-28
    • 1970-01-01
    • 1970-01-01
    • 2014-08-19
    • 2011-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多