<p>I'm trying to get my head around <a href="https://jira.amqp.org/confluence/display/AMQP/About+AMQP" rel="nofollow noreferrer">AMQP</a>. It looks great for inter-machine (cluster, LAN, WAN) communication between applications but I'm not sure if it is suitable (in architectural, and current implementation terms) for use as a software bus within one machine.</p>

<p>Would it be worth pulling out a current high performance message passing framework to replace it with AMQP, or is this falling into the <a href="http://steve.vinoski.net/blog/2008/07/01/convenience-over-correctness/" rel="nofollow noreferrer">same trap as RPC</a> by blurring the distinction between local and non-local communication?</p>

<p>I'm also wary of the performance impacts of using a WAN technology for intra-machine communications, although this may be more of an implementation concern than architecture.</p>

<p>War stories would be appreciated.</p>

AMQP is a specification so you'd be comparing apples with oranges really. There are not that many production ready AMQP providers out there really; none of the major messaging providers or vendors support AMQP at the time of writing (e.g. IBM, Tibco, Sonic, BEA, Oracle, SwiftMQ, MS, Apache ActiveMQ, openmq from Sun) - so all the available AMQP providers are pretty new.
So I'd recommend comparing whatever AMQP provider you are interested in with your message passing framework. There's no point ripping something out that is working fine just because of the way it reads & writes bytes to a socket :)