Hi James,

thanks for the answer. You're right, Python bindings for zyre are
automatically generated stubs for calling C directly. Those can be
integrated to async python but one must do it manually.

The main reason I wrote about zyre is that the protocol is already defined
and can be learned from.

Michal

On Wed, Jun 27, 2018 at 1:09 AM, James Addison <add...@gmail.com> wrote:

>
> 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
>
>


-- 
best regards
     Michal Vyskocil
_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to