You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Summary: I would like to run a cluster of event consumers in which each message is delivered to a single member of the cluster rather than all the members of the cluster. I'd also like to see messages grouped by a group ID based on node ID or TXN ID.
Details:
I noticed that if I start up two separate Spring Boot apps that point to the same Alfresco ActiveMQ broker, each consumer gets the same messages. This makes sense in cases where you have multiple independent microservices running where each of the services needs to see the same messages generated by Alfresco.
But there are also cases where we need to run a cluster of consumers where a given message is delivered to only one member of the cluster. A simple example is to provide high-availability, so that none of the Alfresco events are missed. In this use case, each of the consumers would compete for messages, and no two consumers would ever receive the same message.
When running in this mode, messages that are related need to be in the same message group. For example, if we have two consumers, ConsumerA and ConsumerB, and node 001 gets created and then updated, I would want the create and update events for node 001 to go to the same consumer, lets say ConsumerA. If node 002 gets created and updated those events might go to ConsumerA or ConsumerB. But all the events for node 001 would go to ConsumerA.
According to the ActiveMQ docs, the broker supports message groups. And I see in the Alfresco docs that there is an eventGroupId that gets sent, although it appears to be unique to every message rather than being grouped by something else, such as node ID or TXN ID.
What are the plans for supporting clusters of competing consumers similar to what's described above?
The text was updated successfully, but these errors were encountered:
Summary: I would like to run a cluster of event consumers in which each message is delivered to a single member of the cluster rather than all the members of the cluster. I'd also like to see messages grouped by a group ID based on node ID or TXN ID.
Details:
I noticed that if I start up two separate Spring Boot apps that point to the same Alfresco ActiveMQ broker, each consumer gets the same messages. This makes sense in cases where you have multiple independent microservices running where each of the services needs to see the same messages generated by Alfresco.
But there are also cases where we need to run a cluster of consumers where a given message is delivered to only one member of the cluster. A simple example is to provide high-availability, so that none of the Alfresco events are missed. In this use case, each of the consumers would compete for messages, and no two consumers would ever receive the same message.
When running in this mode, messages that are related need to be in the same message group. For example, if we have two consumers, ConsumerA and ConsumerB, and node 001 gets created and then updated, I would want the create and update events for node 001 to go to the same consumer, lets say ConsumerA. If node 002 gets created and updated those events might go to ConsumerA or ConsumerB. But all the events for node 001 would go to ConsumerA.
According to the ActiveMQ docs, the broker supports message groups. And I see in the Alfresco docs that there is an eventGroupId that gets sent, although it appears to be unique to every message rather than being grouped by something else, such as node ID or TXN ID.
What are the plans for supporting clusters of competing consumers similar to what's described above?
The text was updated successfully, but these errors were encountered: