【问题标题】:How can I host many identical java web applications?如何托管许多相同的 Java Web 应用程序?
【发布时间】:2011-01-14 04:18:52
【问题描述】:

我有问题。我需要在同一时间托管许多(数十、数百)个具有不同负载的小型相同 JAVA Web 应用程序。我想使用 Glassfish V3。我是否需要使用负载均衡器和集群或其他东西?建议我在哪里可以找到有关类似问题及其解决方案的信息...

【问题讨论】:

  • 为什么需要几十个同一个应用?
  • 附议,为什么需要几十个相同的应用程序?为什么不只是一个应用程序,由网络服务器自动进行多线程处理?
  • 你将如何分隔多个实例 pr URL?请使用更多信息编辑您的问题。
  • 这取决于为什么您需要数十或数百个这样的应用程序 - 集群、云计算、网格或其他...
  • 1) 这些应用程序中的每一个都是我的客户的所有权,我将托管他们。 2)这些应用程序中的每一个都将使用自己的数据库和域,具有单独的内容等。3)是的,我想为每个应用程序创建单独的实例。我知道每台机器可以托管大约 10-20 个应用程序,但我也知道这些应用程序将在不同时间处于活动状态。因此,如果我需要拥有 100 个应用程序,那么在最简单的情况下,我可以使用 5-10 个服务器,每个服务器将托管 10-20 个应用程序,但每个服务器将有更多时间处于空闲状态 - 效率不高。

标签: java hosting glassfish-3 load-balancing cluster-computing


【解决方案1】:

我需要托管许多(数十、数百)个相同的小型 JAVA Web 应用程序,这些应用程序在同一时间具有不同的负载。

对于数百个 Web 应用,您很可能需要多个应用服务器实例。但说实话,这听起来很奇怪。

我想使用 Glassfish V3。我是否需要使用负载均衡器和集群或其他东西?

目前,GlassFish v3 仅使用 mod_jk 提供 basic clustering support(即没有负载平衡器插件、没有集中管理、没有高可用性)。有兴趣的可以看看this note,里面描述了GFv3和mod_jk的配置步骤。

对于集中式管理和集群,您必须等待 GlassFish 3.1(请参阅 GlassFish Roadmap Community Update slides)。

【讨论】:

    【解决方案2】:

    您可以查看Gigaspaces。我已经看到它与Mule 一起用于一个有点类似的项目。在我看来,ESB 往往是矫枉过正,但听起来你有相当大的任务要征服。

    【讨论】:

      【解决方案3】:
      1. 根据您的要求,您无法进行负载平衡,因为负载是由请求所针对的客户端预先确定的。每个请求都必须发送到处理该客户端的应用程序,因此它不能分发到专用于该客户端的应用程序集之外。

      2. 您可以使用多线程。您可以设置配置,以便不同的线程处理不同的客户端。但是,最好有一个可以处理来自不同客户端的请求的服务器。根据随请求发送的客户端,它将被分派到不同的数据库等。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-10
        • 2018-03-08
        • 1970-01-01
        • 1970-01-01
        • 2015-05-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多