On 2014/11/17 18:44, Ilya Pekelny wrote:
Hi, all!

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
    the connection.
  * 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 (PULL-PUSH).
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?

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.

Li Ma
OpenStack-dev mailing list

Reply via email to