Is there a way to have “shared subscriptions” in crossbar?
What do I mean by that?
I think this article sums it pretty much up: https://www.hivemq.com/blog/mqtt-client-load-balancing-with-shared-subscriptions/
Why do I need this?
I have many front-end’s which will publish a change to all other frontends. Including the backend which will save this change persistent.
Now I want to scale the backend horizontally: This means that I will have multiple backend-servers subscribed to the same topic, which leads to the issue that all servers will process the change of the frontend (even tough only one of them should handle that).
My current idea:
Implementing some kind of load-balancer:
To have another server in the backend which subscribes to the topic. The only task of that server is to issue a call whenever he receives a subscription.
That call can than be handled by the backend-servers via shared registrations: https://crossbar.io/docs/Shared-Registrations/
However: I do not think that this is the way to go. Or is it? I fear a bottleneck and a point of failure at the server which translates subscriptions to calls.
So the general question is: Is this something to come in crossbar? / If it’s not planned, what is the reason? - What would my architecture need to look like to be inline with the ideas behind crossbar/WAMP?
Thanks a lot,