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

Better message routing #88

Open
decanus opened this issue May 5, 2020 · 0 comments · May be fixed by #89
Open

Better message routing #88

decanus opened this issue May 5, 2020 · 0 comments · May be fixed by #89

Comments

@decanus
Copy link
Contributor

decanus commented May 5, 2020

Problem

Right now message routing is pretty random, or better said non-existant at all. We need a method which allows users to more effectively route messages within the networks themselves.

Possible solution

After reading the scribe paper (notes), I believe I have found a possible solution.

Ideally we can build a pubsub network over our transports using multicast trees similarly to how scribe does.

This means that a peer knows what topic they want to subscribe to, they find their surrounding peer with the closest address using some distance metric. Let's say for example:

distance(topic, node) = topic XOR node

Now what we do is on the closest node we register that we want to subscribe to a given topic. If that node is also subscribe it adds us to its list, if not, it recursively registers on the next node. Until a root is hit.

To make the trees fault tolerant, if a disconnect is detected, the node registers at the next closest.

@decanus decanus linked a pull request May 5, 2020 that will close this issue
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant