-
-
Notifications
You must be signed in to change notification settings - Fork 233
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
WIP: shared subscriptions #437
Conversation
Pull Request Test Coverage Report for Build 52228130978ea33f915ca07299741915108dd4a3-PR-437
💛 - Coveralls |
Pull Request Test Coverage Report for Build 52228130978ea33f915ca07299741915108dd4a3-PR-437
💛 - Coveralls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will not work in the multi-process case as the subscription group can be connected to multiple hosts.
@mcollina So what should be the way? Suggestions? |
It needs to be architected/investigated, I’m basically stating requirements. I currently do not have time for doing so in the near future. A practical way is to have a “plugin” built on top of Redis Streams. This might have significant limitation related to how #/+ work. A more complex solution is to publish the “active” shared subscription for each peer in the broker metadata, and have the message being routed to a different broker if the current one does not have a an active shared subscription for that topic. |
Could my actual implementation work in a single-instance model at least? About your answer I think the best way would be to add shared subscriptions to aedes-persistence or it becomes hard to handle. I was thinking about a solution using |
good try. |
@gnought Could we speak about a possible solution for this? I think a possible soulutions could be: Once we receive a shared subscription we add the subscription to persistence with a In poor words we need to edit aedes-persistence:
In aedes we just need to add a Should this work? Thoughts? |
There may be more work to do before that, and make the whole picture be clear. Would you mind to extract out interfaces that other aedes persistence should implement to, it is nicer if we have a typing in aedes-persistence. |
@gnought Check moscajs/aedes-persistence#48 Than I will add new methods |
@gnought I close this and start working on the new one |
@robertsLando does closing means you are creating a PR from new branch sooner, or case is closed :) |
Pull Request Test Coverage Report for Build d86511e6b44d254d2d57d59b683a14b6bba17589-PR-437Warning: This coverage report may be inaccurate.This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.
Details
💛 - Coveralls |
Pull Request Test Coverage Report for Build 52228130978ea33f915ca07299741915108dd4a3-PR-437Warning: This coverage report may be inaccurate.This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.
Details
💛 - Coveralls |
This is a work in progress for the feature. I would like to know your opinion about this idea and if this could be the right direction or not. @gnought @mcollina
#228