通过javaee实现集群和负载平衡

通过javaee实现集群和负载平衡,java,web-applications,load-balancing,cluster-computing,Java,Web Applications,Load Balancing,Cluster Computing,我想使用Java EE开发集群和负载平衡,我想在后端使用两个Tomcat,如果任何请求到达我的应用程序,它应该根据负载因素向Tomcat发送请求。我想在我的应用程序中添加故障转移和会话复制。请建议 我必须使用的用于负载平衡和集群的API,它应该从哪里下载 我可以参考哪些书来进行应用程序编程 Apache web服务器对我的应用程序有用吗 我必须使用哪些网站来开发我的应用程序 我相信Tomcat和Apache已经具备了这种能力: 我必须使用的用于负载平衡和集群的API以及应该从何处下载?根据我的

我想使用Java EE开发集群和负载平衡,我想在后端使用两个Tomcat,如果任何请求到达我的应用程序,它应该根据负载因素向Tomcat发送请求。我想在我的应用程序中添加故障转移和会话复制。请建议

  • 我必须使用的用于负载平衡和集群的API,它应该从哪里下载
  • 我可以参考哪些书来进行应用程序编程
  • Apache web服务器对我的应用程序有用吗
  • 我必须使用哪些网站来开发我的应用程序

  • 我相信Tomcat和Apache已经具备了这种能力:

  • 我必须使用的用于负载平衡和集群的API以及应该从何处下载?根据我的经验,负载平衡最好使用F5或Cisco ACE路由器等硬件,而不是软件
  • 我可以参考哪些书来进行应用程序编程?见第1条的答案
  • Apache web服务器对我的应用程序有用吗?是的,在DMZ中放置web服务器并让其代理请求到第二个防火墙内的应用程序服务器是很常见的
  • 我必须使用哪些网站来开发我的应用程序?根据你提供的信息无法判断。在这里可能不可能得到如此广泛问题的答案
  • 有一个名为Terracota wich的好产品(开源)允许您进行集群和平衡。

    下载:

    我必须使用的用于负载平衡和集群的API以及应该从何处下载

    集群实际上是JavaEE规范的一部分,因此容器应该对此提供支持(请理解:集群不应该涉及编程,在开发JavaEE应用程序时,您只需要遵循一些规则)

    在使用Tomcat的情况下,请查看Tomcat的文档,更准确地说,是要为软件实现负载平衡的文档。请注意,许多公司更喜欢并使用硬件负载平衡解决方案(使用F5 BIG-IP或Nortel Alteon等产品)。不过这会有点贵

    对于负载平衡算法,通常使用简单的循环(这是我的建议)

    对于会话故障转移部分,您需要使用一个,很可能是基于JDBC的存储实现。只是别忘了将要放入会话
    中的对象设置为可序列化的

    我可以参考哪些书来进行应用程序编程

    我不确定你所说的应用程序编程是什么意思,但你问这个问题的简单事实让我觉得你不应该实现自己的解决方案,而应该使用现有的解决方案(软件或硬件)

    Apache web服务器对我的应用程序有用吗

    对于软件负载平衡,我选择Apache(+mod_jk)作为web服务器。请参阅前面提到的文档

    我必须使用哪些网站来开发我的应用程序


    再说一次,我不确定你所说的“开发我的应用程序”是什么意思,但在我看来,到目前为止提供的链接是一个很好的起点。如果你想更进一步,也许可以查看一下(这仍然是一篇很好的文章,即使不是很新)。要获得更具体的答案,请问一个更具体的问题:)

    大多数答案都是有用的,但根据,集群不是Java EE规范的一部分:“但是由于缺少J2EE规范的支持,J2EE供应商以不同的方式实现集群,这给J2EE架构师和开发人员带来了很多麻烦。”也可以在Antonio Goncalves的博客上看到这篇文章。