What We Need Some kind of message queueing / IPC Send data from A to B send arbitrary messages distributed Reliable Flexible Scalable Fast
What We Have Python Twisted XML-RPC arbitrary data: yes distributed: yep Reliable: implementation Flexible: not really ... Scalable: well ... Fast: oh ... Can we have all that, without implementing everything?
far too many IPC standards and implementations out therenot all are distributed D-Bus MPI Signalssome are XML-RPC (SOAP, ...) ”Sun” RPCAre any of those reliable?
Reliability What goes in comes out. It does come out. It does come out, even if something goes horribly wrong. If something goes horribly wrong, not everything breaks.
AMQP? Doesn’t look like it was designed for IPC. So what? IPC is just a special case of message passing. Does it match our needs? arbitrary messages, distributed, ﬂexible, scalable, reliable if the implementation is not slower then the current XML-RPC, it’s fast enough Instead of searching for a IPC standard / implementation that ﬁts our needs, search for AMQP implementation that ﬁts our needs.
Exchanges a message is send to a exchange every message has a routing key the exchange decides, based on the routing key, where to enqueue it. ﬁne graned conﬁguration, how messages from A reach B direct exchange fanout topic exchange