-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Establishing direct connections through a central broker #833
Comments
I've used the following before (on another protocol) and have implemented and using this on zmq. Central broker uses XSUB/XPUB and listens for and republishes 'HELLO' messages. Client connects to central broker subscribing to HELLO messages. Client responds to HELLO with a OLLEH (or some other message) with it's When a 'client' wants to send to service name, initiate connection endpoint with On zmq there's the 'slow initial connection problem' so you may have On the Central broker, when sockets close, remove the service from the list |
Dafka uses the approach you described. Have a look the central tower (https://github.com/zeromq/dafka/blob/master/src/dafka_tower.c) and the beacons used in the peers of the network (https://github.com/zeromq/dafka/blob/master/src/dafka_beacon.c) |
Thanks for these fast and promising answers. |
@SegfaultCreator I do my development on 20.04, so it should work! |
@sappo Great to hear that you have it running under 20.04! |
No I don't have any special installation. This is what apt says I have installed:
|
Hello everyone,
I am currently trying to exchange our token-ring based network communication on a broadcast basis (spread toolkit) with a more efficient approach using Zeromq.
We have a distributed architecture which consists of up to 25 separate executables, which run on 10+ computers in a local network.
In this architecture, we have some kind of the Dynamic Discovery Problem described in chapter 2 of the tutorials as it is flexible which computer runs which executables.
We implemented the XPub/XSub pattern proposed for this, but we noticed that all of the data now runs through the proxy server.
What we want to have instead is a central broker that is responsible for establishing direct connections between pubs and subs (like the host of a big party that organizes the event, but the communication happens between the party joiners).
However, I did not find any pattern, that fits our use case, in the documentation. I thought about having the broker save all the publishers and subscribers to manage new communication partners. Is there anything I have overseen or are there any major issues that contradict using such an approach?
Thanks in Advance
SegfaultCreator (now mutated to MessageDropper)
The text was updated successfully, but these errors were encountered: