是否有一个好的Java开源抽象负载平衡库?

是否有一个好的Java开源抽象负载平衡库?,java,open-source,load-balancing,Java,Open Source,Load Balancing,我正在寻找一个开放源代码库,它允许跨对任意形式节点的一组调用进行编程负载平衡,因此不需要对HTTP或其他任何东西进行假设,只需要对对象进行方法调用。理想情况下,它将提供以下功能: 平衡负载 如果对节点的调用引发异常,请在其他节点上重试 如果对节点的调用失败,则将节点移动到“断开”状态,并且不再对其进行调用 具有对所有节点(断开和活动节点)执行后台ping的机制,该机制将在断开节点返回时将其恢复为活动状态,并在其失败时主动将活动节点移动到断开状态 我觉得这个应该已经存在了,但是一些谷歌搜索还没

我正在寻找一个开放源代码库,它允许跨对任意形式节点的一组调用进行编程负载平衡,因此不需要对HTTP或其他任何东西进行假设,只需要对对象进行方法调用。理想情况下,它将提供以下功能:

  • 平衡负载
  • 如果对节点的调用引发异常,请在其他节点上重试
  • 如果对节点的调用失败,则将节点移动到“断开”状态,并且不再对其进行调用
  • 具有对所有节点(断开和活动节点)执行后台ping的机制,该机制将在断开节点返回时将其恢复为活动状态,并在其失败时主动将活动节点移动到断开状态

我觉得这个应该已经存在了,但是一些谷歌搜索还没有找到它。

考虑使用ApacheCamel库。有一个灵活的应用程序库,该库有各种各样的组件,因此您不必拘泥于特定的协议或服务实现。使用Camel组件,您甚至可以实现POJO方法调用的负载平衡。

您还可以查看JavaSpaces。这里的范例是一个简单的队列。最不活跃的处理器最有可能处理队列中的下一个项目。

这可能很有趣,但它不能满足您的所有要求:

这通常是在使用F5或Ace的硬件中完成的。我认为这在这种情况下不实用-我们使用的是一个现有的API,它可以直接连接到远程服务器节点,并且没有F5或ace。有多个节点,我们需要处理故障转移等。似乎最简单的解决方案是软件负载平衡器。太棒了,谢谢-正是我想要的。