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

Discovery between different process #5

Open
asmodehn opened this issue Jul 16, 2016 · 8 comments
Open

Discovery between different process #5

asmodehn opened this issue Jul 16, 2016 · 8 comments
Milestone

Comments

@asmodehn
Copy link
Member

Refer to https://github.com/asmodehn/pyzmp/blob/docs/docs/tutorial.rst

We need to have a way to do service discovery on a system, even if the different process have been generated previously, from different interpreters...

While direct addressing the process using the zmp socket URL is probably trivial enough, we need to design some system to be able to connect to a set of processes and discover services, without previous knowledge of the system...

@asmodehn
Copy link
Member Author

Currently services are registered into a manager from there : https://github.com/asmodehn/pyzmp/blob/master/pyzmp/service.py#L30 so discovery is very simple in one interpreter...

We need to improve that...

@asmodehn
Copy link
Member Author

asmodehn commented Jul 18, 2016

The properway to do that is likely to store our node details in /var/run/pyzmp/ somehow...
This would be the "well-known" location where another (unrelated) process can gather information about the nodes running on this machine, and establish connection via hte zmp socket urls...

@asmodehn
Copy link
Member Author

Note : for authorization we need to rely on process authorization from OS, and not implement our own on top of it (or nightmare will ensue...)

@asmodehn
Copy link
Member Author

asmodehn commented Nov 5, 2016

Also relates to #8

@asmodehn asmodehn added this to the Soon milestone May 2, 2017
@asmodehn
Copy link
Member Author

asmodehn commented May 2, 2017

@asmodehn
Copy link
Member Author

asmodehn commented May 2, 2017

Idea is to implement something similar to SWARM, in python, but at a slightly lower level... Maybe something around python pickled named tuples...
This should allow to have a smooth, eventually consistent, distributed key value store, that seems appropriate to keep a list of nodes currently in the system...
Remember also https://sans-io.readthedocs.io/ so the protocol lib should not be implemented here with zmq and other IO things, but somewhere else...

@asmodehn
Copy link
Member Author

It seems we need first to implement something much simpler, for a start : #26

@asmodehn
Copy link
Member Author

We should ultimately rely on colos for the "machine-local" discovery (identifying compatible coprocesses locally)

But as we move into the pyzmp layer, with network enabled, some distributed storage seems necessary to implement service discovery across multiple machine, that is multiple instances of colos.

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

No branches or pull requests

1 participant