Описание тега zeromq
ZeroMQ (Zero Message Queue) is a high-performance, asynchronous, transport-class agnostic messaging library, aimed to use in scalable distributed or concurrent applications. It provides a set of paradigms, similar to a message queue, but unlike message-oriented middleware, a ZeroMQ system operates without any dedicated, central / singular message-handling broker. Instead of that, several Scalable Formal Communication Patterns are provided as a particular communication archetype, serving as prototypes to create smart, more complex messaging / signalling planes, used for inter-connecting a distributed system.
The library is designed to have a familiar socket-style API and supports many transport-classes, incl. { inproc:// | ipc:// | tipc:// | vmci:// | tcp:// | pgm:// | epgm:// | udp:// }
.
A more recent extension allows to use also the norm://
reliable multicast and unicast protocol, so far at least for (X)PUB/(X)SUB
Scalable Formal Communications Pattern Archetypes.
ZeroMQ is developed by iMatix Corporation together with a large community of contributors. There are third-party bindings for almost every popular programming languages, from c, c++, haskell, go, java, python to erlang, mql4 and many more.
ZeroMQ (also spelled ØMQ, 0MQ or ZMQ)
The basic ZeroMQ patterns join many-to-many topologies of distributed-agents, where specific message-handling behaviours (aka Scalable Formal Communication Pattern Archetypes) take place:
REQ / REP
: the Request–Reply archetype
Connects a set of clients to a set of services. This is a remote procedure call and task distribution pattern.
PUB / SUB
: the Publish–Subscribe archetype
Connects a set of publishers to a set of subscribers. This is a data distribution pattern.
PUSH / PULL
: the Push–Pull (pipeline) archetype
Connects nodes in a fan-out / fan-in pattern that can have multiple steps, and loops. This is a parallel task distribution and collection pattern.
PAIR / PAIR
Exclusive pair
Connects two sockets in an exclusive pair. (This is an advanced low-level pattern for specific use cases.)
ROUTER / DEALER
formerly also known as XREQ / XREP
archetype
XPUB / XSUB
archetype extends the classical PUB/SUB
archetype with adding also the application-level access to the subscription-management events.
Useful links:
You can get more information in the following sites: