On Tue, Jun 26, 2018 at 1:42 PM Michal Vyskocil <michal.vysko...@gmail.com>
wrote:

> Zyre, it supports discovery and reliable group messaging without a broker.
> https://github.com/zeromq/zyre/blob/master/README.md#scope-and-goals
>
> Malamute,the zeromq broker. It provides pub/sub, request/reply and service
> communication pattern.
> https://github.com/zeromq/malamute/
>
> I know that you might want to avoid central servers, however this is based
> on zproto architecture with simple server and complex clients. According
> Pieter this is great way towards reliability. Usually it's up to client to
> handle advanced things like retransmit.
>
> If nothing, this is a great source of design information for you, as you
> seems to solve similar problems.
>

Michal,

Those are great resources to understand the design of distributed systems
using zeromq, I agree. Thank you! I have looked at them over the last few
months, but discarded them as options in this puzzle of mine - I don't
actually recall the reasoning and given that I've had more recent
enlightening input, I will be looking at zyre in particular again. I don't
think malamute is quite right here.

I don't believe I mentioned it, but I'm planning to build this system using
Python3 with pyzmq - in particular, the asyncio variant included in pyzmq.
The zyre project has Python bindings, but a) they are not based on
Python3's asyncio and b) there are not many examples using it. For the
purposes of peer discovery though, I'm not actually sure having asyncio
integration is crucial though.

Based on my recollection, I think that zyre's main strength is
decentralized peer discovery (no need for well-known nodes) - which would
mean multicast being a requirement. However, networks using this system
won't always have multicast enabled (AWS VPC, etc). That said, I believe
that it has a secondary mode for gossiping using a well-known node?  I
would love verification of this?

Unless something mind-blowing is revealed, I'll probably continue along the
XPUB/XSUB path. It keeps zeromq system requirements to a minimum (just
pyzmq), so it would have to be a sizeable net positive to include a
non-trivial build/configuration step.

James
_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to