I am using the JMS apis of hornetq 2.2.7. The typical setting is to run multiple consumers subscribing to a jmsqueue, and multiple producers publishing messages to the jmsqueue.The hornetq server delivers messages to the consumers in a round robin way. Because some of the consumers are slow and some are fast, I want the server to load balance the jmsqueues of different consumers (or sessions) based on the performance of the consumers.
I didn't find any documents on hornetq about this kind of load balancing policy or algorithm.
How do I change the policy or algorithm of hornetq load balancing jmsqueues of different sessions in server side?
You can enable consumerWindowSize=0, so the slow consumers won't cache messages on their client side, affecting distribution.