1

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

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

我们目前的非排他性问题清单:

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

6 回答 6

2

关于 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

GlassFish 集团产品经理 John Clingan

于 2009-01-01T18:53:33.613 回答
1

Liferay wiki 有一个高可用性指南条目,概述了可以作为起点的架构。

于 2008-12-30T16:18:18.123 回答
0

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

从 Apache 文档开始,Web 上提供了大量资源。这里有几个:

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。

于 2008-11-10T07:56:50.370 回答
0

我的一个朋友说,《构建可扩展的网站》是关于这个主题的权威书籍:

于 2008-11-10T08:17:57.283 回答
0

Theo Schlossnagle 的Scalable Internet Architectures可能也很有趣。

于 2008-11-10T09:26:48.267 回答
0

我刚刚读完《架构企业解决方案:基于 Internet 的高性能系统的模式》。为我介绍了企业系统的可扩展性、可用性、性能、安全性和许多其他方面

于 2008-12-31T02:02:17.913 回答