【问题标题】:Book/Resource about setting up load balancing and fail over for Servlet based Java web application [closed]关于为基于 Servlet 的 Java Web 应用程序设置负载平衡和故障转移的书籍/资源 [关闭]
【发布时间】:2008-11-09 22:57:20
【问题描述】:

我们正在使用 Java 和 Servlet 技术(实际上是表示层的 Wicket)创建一个 Web 系统,我们需要我们的系统几乎始终可用,因为我们的客户将非常依赖它。

这导致我们寻找一本专注于该主题的好书或其他资源,以解释如何为我们的系统设置一个更冗余和故障安全的架构。

我们目前的问题的非排他性列表:

  • 您如何拥有一个域名(如http://www.google.com)实际上由多台具有负载平衡功能的服务器提供服务以分配用户?在这样的解决方案中不是总有一个弱点吗(在他们的情况下,这两个 [因为不能有更多] google.com 的 DNS 服务器)?
  • 拥有多个数据库服务器以实现冗余和负载平衡似乎是个好主意。这是如何设置的?
  • 如果我们的其中一台 Web 服务器出现故障,我们希望进行某种故障转移,让用户使用仍在运行的服务器。除其他事项外,会话必须以某种方式同步。这是如何设置的?
  • 我们是否也需要某种同步事务?
  • 亚马逊计算机云对我们来说是一个不错的选择吗?我们如何在那里设置它?有没有性价比高的替代品?
  • 我们是否需要在 JBoss 或 Glassfish 等 Java EE 容器中运行?

【问题讨论】:

    标签: java web-applications load-balancing redundancy failovercluster


    【解决方案1】:

    关于 GlassFish,通过管理 GUI 进行集中管理对于需要管理多个应用服务器实例的环境来说是一个很大的帮助。 “始终可用”已超载。它可以是服务可用性,在故障时不保留会话,也可以是备份会话信息的数据可用性。当然,GlassFish 可以两者兼得。一些可能对 GlassFish 和高可用性有所帮助的资源:

    GlassFish 高可用性指南: http://www.sun.com/offers/details/glassfish_HAref_config.html

    在 10 分钟内设置 GlassFish 集群: http://blogs.oracle.com/jclingan/entry/glassfish_clustering_in_under_10

    John Clingan,GlassFish 集团产品经理

    【讨论】:

      【解决方案2】:

      Liferay wiki 有一个 high availability guide 条目,概述了可以作为起点的架构。

      【讨论】:

      • 这些图表非常吸引人! :)
      【解决方案3】:

      这可能是一种简单的方法,但我最近实现了一种类似的负载平衡和高可用性解决方案。
      我的应用程序将 Tomcat 作为 Web 容器和 MySQL 数据库。我已经将 Tomcat 与 Apache Http Server 放在了前面,并使用 Apache mod_jk2 模块作为接口来处理负载平衡和故障转移。

      从 Apache 文档开始,网络上提供了大量资源。以下是一些:

      http://tomcat.apache.org/connectors-doc/reference/workers.html

      http://www.redhat.com/docs/manuals/rhaps/jonas-guide/s1-load-balancing.html

      http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html

      对于 MySQL,请查看 MySQL 代理以进行负载平衡和故障转移。拥有多个用于负载平衡和故障转移的数据库服务器是一个好主意。一组数据库可以用于读取,另一组用于写入。根据卷,您可能希望为读/写分配更多/更少的服务器。您的数据库文档也可能对您的配置有所帮助。

      HTH。

      【讨论】:

      • 我将此解决方案解释为一切都依赖于单点故障,即运行 mod_jk2 的 Apache 服务器。我对么?如果我是正确的,该解决方案的可用性不比网络连接(即只有一条路径)和 Apache 服务器本身的正常运行时间更高?
      【解决方案4】:

      我的一个朋友说Building Scalable Web Sites 是关于这个主题的权威书籍:

      【讨论】:

      • 它看起来很有趣,亚马逊客户给了它很好的评价。同时它没有关注 Java,但如果它解决了许多其他相关问题的解决方案,这可能并不重要。我会更多地研究它! (如果我喜欢,我会回来投票)我仍然需要一些以 Java 为中心的东西,
      【解决方案5】:

      Theo Schlossnagle 的Scalable Internet Architectures 也可能感兴趣。

      【讨论】:

        【解决方案6】:

        我刚刚读完Architecting Enterprise Solutions: Patterns for High-Capability Internet-based Systems。为我介绍了企业系统的可扩展性、可用性、性能、安全性以及许多其他方面

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-05-17
          • 1970-01-01
          • 2010-10-23
          • 2012-01-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多