Ensuring proper JMS message group routing in clustered setup #1025
Replies: 2 comments
-
I think you will need to make use of a connection router to partition your clients and confine clients that wish to respect groups on a given queue to a single broker. Once a queue is distributed, message order and consequently group order, is lost (compromised). There is an example of this sort of sharding based on roles in the pub sub test, the context there is avoiding duplicates for topic consuemrs, but it can be applied to partition order sensitive queue consumers in a similar way. see : https://github.com/artemiscloud/activemq-artemis-operator/blob/main/controllers/activemqartemis_pub_sub_scale_test.go#L193 |
Beta Was this translation helpful? Give feedback.
-
I too was looking to configure grouping-handler in the ActiveMQArtemis CR. I believe that this configuration makes it possible: https://activemq.apache.org/components/artemis/documentation/latest/message-grouping.html#clustered-grouping-example For example, I have confgured the following
and have been able to successfully route messages accordingly. |
Beta Was this translation helpful? Give feedback.
-
I'm having a bit of an issue after using a deployment with the following
deploymentPlan
:My issue now is that we make use of message grouping in JMS to obtain the behaviour we need for a number of very critical queues. This is also not something we can easily change.
When reading the Artemis documentation around grouping, the section on Clustered Grouping (https://activemq.apache.org/components/artemis/documentation/latest/message-grouping.html#clustered-grouping-configuration) outlines the exact issue we now seem to be experiencing.
After confirming there were no instances of
grouping-handler
entries inbroker.xml
on the pods, I started looking through the CRDs for a way to ensuregrouping-handler
entries were created for all broker pods in the StatefulSet. However I have so far been unable to find any way to make sure these are added to my artemis cluster.I did find the
defaultGroup*
keys in the broker & address CRDs, though these do not seem to be related to thegrouping-handler
entries I am looking to generate intobroker.xml
. I would be very grateful if someone could point me to the method I need to use to ensure our JMS grouped messages are properly routed through our cluster.Thanks so much in advance for any advice, and also thanks to the community for making Artemis and AMQ in general much more accessible to deploy in high volume clustered environments!
Beta Was this translation helpful? Give feedback.
All reactions