Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过JMS跟踪一批工人_Java_Jms_Activemq_Cluster Computing_Load Balancing - Fatal编程技术网

Java 通过JMS跟踪一批工人

Java 通过JMS跟踪一批工人,java,jms,activemq,cluster-computing,load-balancing,Java,Jms,Activemq,Cluster Computing,Load Balancing,我有一个由几个Java服务组成的应用程序,这些服务通过直接RMI线路进行通信。我将使用JMS/ActiveMQ将其升级到更现代、更稳定的版本 最常见的场景是连接到中央服务并执行请求的多个进程。->这可以通过命名请求队列和命名或临时响应队列在JMS中实现 通过上述链接,进程还将向中央服务注册为事件监听器,中央服务维护一个事件监听器列表,并通过RMI将事件直接发送给每个订阅者来分派事件。->JMS主题是这方面的理想替代品 第三个场景更复杂:我还将有几个进程将自己注册为中央服务的工作人员。该中央服

我有一个由几个Java服务组成的应用程序,这些服务通过直接RMI线路进行通信。我将使用JMS/ActiveMQ将其升级到更现代、更稳定的版本

  • 最常见的场景是连接到中央服务并执行请求的多个进程。->这可以通过命名请求队列和命名或临时响应队列在JMS中实现

  • 通过上述链接,进程还将向中央服务注册为事件监听器,中央服务维护一个事件监听器列表,并通过RMI将事件直接发送给每个订阅者来分派事件。->JMS主题是这方面的理想替代品

第三个场景更复杂:我还将有几个进程将自己注册为中央服务的工作人员。该中央服务必须维护这些工作人员的池,这些工作人员可以动态地、意外地启动、停止和重新启动

然后,池会将任务分配给特定的工作者(例如,负载最低的工作者,因此没有广播或随机选择)。但我不认为这很难,核心问题是保持泳池的最新状态

工作人员还需要与正在运行的任务或普通工作人员状态(例如,当前负载,或是否正在接受新任务)相关的信息进行沟通


如何在JMS之上以稳定的方式实现这一点?好的,解释如何完全实现这个复杂的场景可能有点多,但是假设队列和主题通道可用,这里是否有可以应用的通用设计模式?

我发现主要问题是服务之间的相互通信,所以JMS可能不是最佳选择?暴风雪/阿克卡怎么样?