我们正在使用 Java 和 Servlet 技术(实际上是用于表示层的 Wicket)创建一个 Web 系统,并且我们需要我们的系统几乎始终可用,因为我们的客户将非常依赖它。
这促使我们寻找一本专注于该主题的好书或其他资源来解释如何为我们的系统建立更加冗余和故障安全的架构。
我们目前遇到的问题的非排他性列表:
- 如何拥有一个域名(例如 http://www.google.com ),而该域名实际上由多台服务器提供服务,并通过负载平衡来分配用户?在这样的解决方案中,不是总有一个弱点(在他们的例子中,google.com 的两个[因为不能有更多] DNS 服务器)?
- 拥有多个数据库服务器来实现冗余和负载平衡似乎是个好主意。这是如何设置的?
- 如果我们的一台网络服务器出现故障,我们希望进行某种故障转移并让用户使用仍在运行的服务器。除此之外, session 必须以某种方式同步。这是如何设置的?
- 我们还需要某种同步事务吗?
- 亚马逊计算机云对我们来说是一个不错的选择吗?我们如何在那里设置它?有没有经济有效的替代方案?
- 我们需要在 JBoss 或 Glassfish 等 Java EE 容器中运行吗?
最佳答案
关于 GlassFish,通过管理 GUI 进行集中管理对于需要管理多个应用程序服务器实例的环境来说是一个很大的帮助。 “永远可用”已经重载了。它可以是服务可用性,在失败时不保留 session ,也可以是指备份 session 信息的数据可用性。当然,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 集团产品经理
关于java - 关于为基于 Servlet 的 Java Web 应用程序设置负载平衡和故障转移的书籍/资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/276623/