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