On 2014/11/17 18:44, Ilya Pekelny wrote:
Hi, Ilya, thanks for raising this topic. Inline you discussed about the
ZeroMQ nature, but I still cannot find any directions to how to refactor
or redesign the ZeroMQ driver for olso.messaging. :-< Could you provide
more details about how you think of it?
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:
* 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.
* 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.
* 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.
* 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
* 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.
* Each peer is then able to send the other messages. Either peer may
at any moment close the connection.
From the current code docstring:
"""A consumer class implementing a centralized casting broker
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.
For community works, AFAIK, we'd first initialize CI for ZeroMQ. After
that, we can work together on how to improve performance, reliability
and scalability of ZeroMQ driver.
OpenStack-dev mailing list