Is it possible to create a mesh architecture between servers using exchange to exchange binding with AMQP?
A practical example being a chat relay system that has multiple exit nodes/exchanges across the internet that must all be at the same state so that the nodes can relay the messages to the clients connected to them and not have duplicate messages being passed around.
Secondarily is there a better technology than AMQP for doing this?
XMPP would be an obvious option for a chat system.
As yet there is no explicit standard in AMQP for connecting servers. 'Exchange to exchange binding' is a non-standard extension of RabbitMQ. That said, once a connection is established, the protocol itself is all that is required. So mesh networks are certainly possible, just that the manner in which you establish them will vary from server to server. The qpidd broker from Apache Qpid supports establishing connections to any AMQP 0-10 or (recently) 1.0 compliant server and pulling or pushing messages over that.