Basically, I have one node wizard that distributes tasks between work nodes. The number of workers may change, which means that workers cannot be hardcoded on the server side. The master sends the task to the queue, and one of the workers takes this task, processes it, and returns the result back. The most important aspect is low latency. The typical process time for a working node is about 100-300 ms, which means that the messaging system should not add a significant delay to the process time.
I am currently looking at a JMS request-response template. This means that the master sent the task to the general queue, the worker completed the task from the queue and sent the result to the next queue, which the node master listens to. The wizard will correlate the response with the request.
I am afraid that JMS may lead to a delay in the system, which is unacceptable. Perhaps I should look at other solutions? For example, RabbitMQ, JGroups or ZooKeeper?
If JMS fits here, can you recommend the fastest JMS broker? I am currently watching ActiveMQ
Another requirement for the solution is that it must work in the cloud
source share