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

Support multiple server instances communicating with each other in HA setup #720

Open
rahul1995 opened this issue Oct 9, 2023 · 1 comment
Assignees

Comments

@rahul1995
Copy link

The problem I am facing
For some reason, I would want to close all the connections for a particular document.
My other microservice will call Collaboration server to close all the connections.
In HA setup, there will be multiple server instances. But the call will come to only one server instance.
It can close the connections made on this server, but this message needs to be broadcasted to all the server instances.

The solution I would like
Currently "extension-redis" supports message passing from client -> server and server -> all client instances.
But there is no way for server to "tell" other server to perform something at the server.
The handleIncomingMessage is also non-extendable so that a custom strategy could be hooked in. Also, MessageReceiver's apply method is also non-extendable and can only support the MessageTypes coming OOTB. So, I cannot find any easy way to extend the functionality.

Alternatives I have considered
Currently, thinking of writing a custom extension similar to extension-redis with some change in behaviour of handleIncomingMessage(). Not tried yet.

Additional context
Add any other context or screenshots here.

@rahul1995
Copy link
Author

rahul1995 commented Oct 11, 2023

Alternative I am using right now - I extended Redis-extension class and created two more pub, sub redis clients to publish/listen server-to-server messages.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants