[zeromq-dev] gossip protocol

Pieter Hintjens ph at imatix.com
Wed Jul 30 16:10:55 CEST 2014

On Wed, Jul 30, 2014 at 3:01 PM, Chris Laws <clawsicus at gmail.com> wrote:

> I'm trying to understand the operation of the gossip capability in CZMQ. I
> think I understand the way it distributes key/value pairs to peers that
> connected to it and that it connected to. However, I don't understand how a
> gossip node actually finds another node. The tests seem to hard code the
> connection address to a remote peer.
> Is the gossip node discovery problem not part of the gossip implementation?
> Is it assumed that one would use something like the zbeacon for discovery
> and then use gossip to establish a consistent configuration state?

The assumption is that each node magically knows at least one other
node. I guess we could use beaconing to discover bound nodes, then
pass this info back down to the gossip service. That'd only work on
local networks. I don't want to make zgossip depend on zbeacon.

The worst case scenario, without beaconing, looks somewhat like the
Clone pattern from the Guide. One fixed address every other node talks
to, and then broadcasting of tuples to all nodes.

In Zyre, we use those tuples to carry node=endpoint information, to do
the actual Zyre interconnection.

The gossip protocol is still quite primitive and doesn't for instance
do expiry yet.


More information about the zeromq-dev mailing list