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

有帮助吗?

解决方案

要使用的主要的方法是不是工具。这就是所谓的“精品软件” - 即必须正确处理所有的资源(包括同步)

的Apache Hadoop的的东西,你可以使用分配和扩展您的系统。但是,这对巨大的应用程序。

负载平衡是东西寻找到以及

其他提示

也许你正在寻找一个集群解决方案? 有陶土的JVM聚类的开源版本

通过冗余在应用的所有层消除了单点故障。你可以问自己沿,然后找到减少风险的办法:“如果X失败会发生什么”的问题行

您至少必须解决两个主要方面:

  1. 操作
  2. 架构、设计、代码

这些要素中的每一个都是大问题。例如,有几个专门针对这些问题的好网站(分别参见 serverfault.com 和 stackoverflow.com)。

运营考虑因素包括:扩展部署,包括负载平衡、灾难恢复、CDN(如果可能)和监控。持续的部署考虑因素也很重要。

架构 -> 代码考虑因素众多且重要。从解决方案的架构到可维护性的代码布局,以及最难实现的:正确性。我最好的建议:雇用有经验的人。如果失败,请阅读有经验的人的书籍等。

另外,在 Java 世界中,接受这一重要事实非常重要:它可能是以前写过的。这是个好消息!许多非常非常聪明的人花了无数的时间编写代码 为你 并已在 [Jakarta] Apache、Google Code、Codehaus、Sourceforge 和许多其他开源网站等地方免费提供它。您对问题进行的研究越多,您就会发现这些玩家的出现越多。一项重要的技能是确定哪种可用软件最适合您。

人们已经通过选择的特定技术提供了其他答案,其中许多都是很好的建议,但这一切都归结为您试图解决的实际问题,只有您知道那是什么(好吧,问题并没有说明 我们 无论如何:D)。

首先,您需要:

  1. 可以同时在多个网络服务器上运行的网络应用程序。
  2. 负载平衡前端,可以检测故障的 Web 服务器并将流量路由到其他实时实例。这部分不需要用 Java 编写。您需要找到负载均衡器和 Web 应用程序容器之间的集成点。

完成初始设置后,您将需要查找其他可能的故障点,例如数据库服务器、负载平衡服务器本身、DNS 服务器等。然后尝试在这些层添加冗余和故障转移切换。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top