Mainly, AMQP is too complex. The reasons are detailed and historical and I take responsibility for
many of the design decisions, such as using binary framing for control commands. The effort
needed to make a client stack is too heavy.
AMQP also ignores the principles that make for successful Internet protocols. Architectural ones,
such as REST but also established practice such as making many small RFCs, not a single huge
Having said this, AMQP works very well indeed inside the enterprise, where we've used it for
many projects. It solves a certain class of messaging problem very nicely. There are many
classes of messaging problem. As I said, AMQP basically sits in the JMS space. You would not
use JMS across the Internet.