On Wed, Aug 2, 2017 at 12:38 PM, adagys <andrius.da...@r3.com> wrote: > So I had a look at qpid-dispatch, but it doesn't seem to solve our problem. > Unless I'm misunderstanding, the way it works is that a client > (consumer/producer) connects to the router, which then links it to another > endpoint – a queue inside a broker, or producer/consumer. In our scenario we > want something that independently forwards messages between queues in > different brokers.
I understand... although you should keep your processing in the same broker... redirecting messages through the broker is never a good choice... we keep it here for when it happens but users should keep consumers and producers as close as possible.. otherwise you're creating a mesh.. and your cluster won't ever scale more than less of what a single node would be capable of. (There is even a theorem in computing science proving that point.. I can't remember the exact one now.. but it's something we came through years ago). if you just keep redistributing everything.. you will endup with being better with a single node. > > Here's an illustration: > > <http://activemq.2283324.n4.nabble.com/file/n4729171/Corda_Messaging.png> This is exactly what I was trying to describe you. > Our second concern is backwards-compatibility, and having all communication > done via AMQP solves that. Are there any backwards-compatibility guarantees > for the Core protocol? We have guarnatees on the core protocol, however.. even if we ever changed the inter broker communication to AMQP we are not testing inter-version communication at the cluster. Minor updates are ok... but I wouldn't count on mixing brokers of different versions in cluster. The broker will have semantics on the messages sent between the cluster.. and specially between major releases.. even AMQP won't save you from that. What you want here is the inter broker communication to load balance AMQP Messages as well... But beware of my last point... the mesh of consumer and producers on different boxes will kill your system... and that will go for any system you choose.. it's a Computer Science problem not tight up to any specific broker.