我有多个vms运行项目中的所有模块。每个由用户创建的请求都必须由所有模块处理,但只需要完成一次。因此,如果VM1接收到请求,则模块1可以部分处理该请求,但下一个VM1或VM2或群集中的任何其他VM可以接收并处理模块2。等等。负载平衡在群集中运行的Java应用程序
由于每个虚拟机的容量有限,我希望使用负载平衡器在单个虚拟机之间分配工作。
是否有负载平衡器(开放源码的Java)可以解决这个问题,或者我需要使用多个负载均衡算法(循环,加权等)来解决我的需求?
编辑1:
每个模块是Java类,这是独立于本身,但需要前面的模块其started.Each Vm的收听消息总线之前完成。当总线上出现一条消息时,任何一个虚拟机都可以拿起并开始处理它。
它不是一个处理http请求的web应用程序。所以这可能没有帮助 –
好的,那么通信或消息传递的模式是什么。 – Shailendra
每个Vm正在收听消息总线。当总线上出现一条消息时,任何一个虚拟机都可以拿起并开始处理它。 –