Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for competing consumers #58

Open
jpotts opened this issue May 13, 2021 · 0 comments
Open

Add support for competing consumers #58

jpotts opened this issue May 13, 2021 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@jpotts
Copy link

jpotts commented May 13, 2021

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?

@mmartinadanx mmartinadanx self-assigned this Sep 29, 2021
@mmartinadanx mmartinadanx added the enhancement New feature or request label Sep 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants