实现Java Web应用程序的高可用性

时间:2010-06-15 14:18:39

标签: java high-availability

实现Java Web应用程序高可用性的工具有哪些。

5 个答案:

答案 0 :(得分:2)

使用的主要方法不是工具。它被称为“高质量软件” - 即您必须正确处理所有资源(包括同步)。

您可以使用

Apache Hadoop来分发和扩展系统。但那是巨大的应用程序。

Load balancing也值得关注。

答案 1 :(得分:1)

也许您正在寻找群集解决方案? 有Terracotta的JVM集群的OpenSource版本

答案 2 :(得分:1)

通过应用程序所有层的冗余消除单点故障。你可以问自己“如果X失败会发生什么”的问题,然后找到降低风险的方法。

答案 3 :(得分:1)

至少有两个主要方面需要解决:

  1. 运算
  2. 架构,设计,代码
  3. 这些元素中的每一个都是大问题。例如,有几个专门用于这些的好站点(分别参见serverfault.com和stackoverflow.com)。

    操作注意事项包括:扩展部署,包括负载平衡,灾难恢复,CDN(如果可能)和监控。正在进行的部署考虑也很重要。

    架构 - >代码考虑因素众多且重要。从您的解决方案的体系结构,到可维护性的代码布局,以及最难实现的:正确性。我最好的建议:聘请有经验的人。失败了,从有经验的人那里读书等等。

    此外,在Java世界中,与这一重要事实达成协议非常重要:它可能是之前编写过的。这是个好消息!许多非常聪明的人花了无数个小时为你编写代码,并在[雅加达] Apache,Google Code,Codehaus,Sourceforge和许多其他开源网站等地方免费提供。你对问题的研究越多,你就越会发现这些球员出现。一项重要的技能是确定哪种软件适合您。

    人们已经选择了特定技术的其他答案,其中许多都是很好的建议,但这一切都归结为你想要解决的实际问题,只有你知道那是什么(好吧,问题没有'无论如何,告诉我们:D)。

答案 4 :(得分:0)

开始你需要:

  1. 可以同时在多个Web服务器上运行的Web应用程序。
  2. 负载平衡前端,可以检测失败的Web服务器并将流量路由到其他实时实例。这部分不必是Java。您需要在负载均衡器和Web应用程序容器之间找到集成点。
  3. 初始设置完成后,您需要找到其他可能的故障点,如数据库服务器,负载平衡服务器本身,DNS服务器等,然后尝试在这些层添加冗余和故障转移切换。

    您还应该考虑RAID,SAN等硬件解决方案。