<div dir="ltr">Hi, all!<div><br></div><div>We want to discuss opportunity of implementation of the p-2-p messaging model in oslo.messaging for ZeroMQ driver. Actual architecture uses uncharacteristic single broker architecture model. In this way we are ignoring the key 0MQ ideas. Lets describe our message in quotes from ZeroMQ documentation:</div><div><br></div><div><ul><li><span style="font-size:13px;color:rgb(0,0,0);font-family:verdana,arial,helvetica,sans-serif">ZeroMQ has the core technical goals of simplicity and scalability, the core social goal of gathering together the best and brightest minds in distributed computing to build real, lasting solutions, and the political goal of breaking the old hegemony of centralization, as represented by most existing messaging systems prior to ZeroMQ.</span><span style="font-size:13px;color:rgb(0,0,0);font-family:verdana,arial,helvetica,sans-serif"> </span><br></li><li><font color="#000000" face="verdana, arial, helvetica, sans-serif">The ZeroMQ Message Transport Protocol (ZMTP) is a transport layer protocol for exchanging messages between two peers over a connected transport layer such as TCP. </font></li><li><span style="color:rgb(0,0,0);font-family:verdana,arial,helvetica,sans-serif">The two peers agree on the version and security mechanism of the connection by sending each other data and either continuing the discussion, or closing the connection.</span></li><li><font color="#000000" face="verdana, arial, helvetica, sans-serif">The two peers handshake the security mechanism by exchanging zero or more commands. If the security handshake is successful, the peers continue the discussion, otherwise one or both peers closes the connection.</font></li><li><font color="#000000" face="verdana, arial, helvetica, sans-serif">Each peer then sends the other metadata about the connection as a final command. The peers may check the metadata and each peer decides either to continue, or to close the connection.</font></li><li><font color="#000000" face="verdana, arial, helvetica, sans-serif">Each peer is then able to send the other messages. Either peer may at any moment close the connection.</font></li></ul><font color="#000000" face="verdana, arial, helvetica, sans-serif">From the current code docstring:</font></div><div><font color="#000000" face="verdana, arial, helvetica, sans-serif"><br></font></div><div><font color="#000000" face="verdana, arial, helvetica, sans-serif"><div>    ZmqBaseReactor(ConsumerBase):</div><div>        """A consumer class implementing a centralized casting broker (PULL-PUSH).</div><div><br></div><div>This approach is pretty unusual for ZeroMQ. Fortunately we have a bit of raw developments around the problem. These changes can introduce performance improvement. But to proof it we need to implement all new features, at least at WIP status. So, I need to be sure that the community doesn't avoid such of improvements.</div><div><br></div><div>Regards, Ilya, Oleksii.</div></font></div></div>