jeromq
jeromq copied to clipboard
Support for DISH/RADIO
We have been successfully using JeroMQ in our Peer-to-Peer communications architecture using both Pub/Sub and Req/Rep, but are starting to encounter issues with time-sensitive messaging on congested networks. In some specific instances, we may want to establish an "unreliable" pub/sub channel with a minimal latency. Delivery is not a requirement in this case.
Looking through the ZMQ specs, it looks like this has been implemented via Dish/Radio (I kinda get it, kinda don't...). But, I don't currently see this in the works on JeroMQ.
Unfortunately, this will soon become a crippling issue for our system under these circumstances which could possibly result in looking for an alternative. At this point in my JeroMQ experience, I'm pretty comfortable using it, but the internal workings are still a bit of a mystery to me.
I'm wondering if this is currently in the roadmap for anyone, and if not, could it be added? Also, I'm happy to help contribute to its development as much as possible, but would definitely need some help in making sure it works [in ZMQ's style of] "right".
Hi, all I can say it's not on my own roadmap for the time being.
The project accepts all PR when they adhere to C4, so your contributions would be most welcomed!
I added CLIENT and SERVER socket types, which adds the thread-safety bits Radio-Dish depends on. So, porting Radio-Dish should be easy now, porting UDP is a bit more work. @kylemallory I can help and guide in both if you are still interested.
@somdoron Just saw the merge request for Radio/Dish. You're awesome! Sorry, I missed all the excitement!
Not long after my last comment, I moved into a new role where JeroMQ is no longer an option (though I am still a fan, and would if I could!). I came back across this issue (after a leisurely stroll down Memory Lane), and noticed it was still open and marked "ready for action". As I am not in a position to further this effort, this can be closed unless its worth keeping around for others to consider for future road-mapping. Sorry for the much delayed reply!
I would specifically benefit from this. Would like to use Dish/Radio to support a multicast one-to-many/many-to-many scenario over UDP Multicast. Are there recommended alternative socket types in the meantime that are multicast-esque even if its not over underlying UDP? Maybe the Publish/Subscribe socket types?