[zeromq-dev] Announcing node-red-contrib-zyre - Node-RED nodes for Zyre

Brett Viren brett.viren at gmail.com
Fri Jul 10 16:26:06 CEST 2020

Hi Stephen,

This is incredibly cool to see!

I've always thought Node-RED was ripe for this kind of use but alas my
own JS skills are too lacking to move strongly into this area.

I'm very curious if you have thoughts in a similar direction I have

When I first learned about Node-RED, what I wanted was a way to show the
status of bind()/connect() links between peers which were formed based
on resolving abstract names to concrete ZeroMQ address strings stored in
Zyre headers. (Maybe the most common Zyre usage idiom?).

I also wanted a dynamic display that showed the status of the
establishment of the links.  Eg, after all the bind() calls, a Zyre peer
is created and this leads to a newly displayed Node-RED node which shows
bind()'ed addresses as "ports" on the node.  Then after any successful
connect() the peer somehow informs Node-RED and an edge from that node
to the bound "port" is drawn.  If the Zyre peer associated with a node
leaves then the Node-RED node and its edges gets some indication (eg,
redrawn with dashed lines) and after some longer time without
reestablishment, redrawn in some more dire marking.  That kind of thing.

I think the information needed for such display is very application
specific and some of it might be out-of-band of Zyre (or, could use Zyre
chat) so probably it must require custom code somewhere.  Maybe there
could be some shared conventions developed along the way that different
applications could adopt in order to exploit such a display.

Given my lack of JS expertise, I don't know how much I could help
realize this system, at least close to Node-RED parts.  I do have
C++/Python application support[1] for this auto-assembly of graphs of
sockets via Zyre.  It and I could serve as a test bed for developing
some shared conventions.

In any case, having this new Zyre layer in place goes a far way to
making such a display.  Nice job!


[1] https://brettviren.github.io/zio/node.html (see also "port" and "peer")

Stephen Riesenberg <stephen.riesenberg at gmail.com> writes:

> Hello,
> I'd like to announce the first release of node-red-contrib-zyre (v0.0.1) on npm.
> https://www.npmjs.com/package/node-red-contrib-zyre
> https://flows.nodered.org/node/node-red-contrib-zyre
> https://github.com/InSourceSoftware/node-red-contrib-zyre
> If you're not familiar with Node-RED, this would be a fun way for the zeromq community to try it out.
> Among other things, it's a nice way to prototype event-driven applications using javascript. But using
> protocols and technologies that are cross-platform (like zeromq and zyre) allow for prototypes that evolve
> into real things in whatever language or platform you need.
> Big shout out to Sebastian Rager (https://github.com/interpretor) for developing zyre.js a few years back. It
> was very easy to develop the nodes on top.
> Any questions or interest, please let me know. This is just a pre-release, but it seems to work well. If others
> try it out, let me know if it goes well or any issues you encounter. Thanks!
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 865 bytes
Desc: not available
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20200710/5e210be6/attachment.sig>

More information about the zeromq-dev mailing list