Affects Version/s: 0.14
Fix Version/s: None
Component/s: C++ Broker
All routes configured between two federated brokers share the same underlying connection. Since a connection can be serviced by only one thread, all traffic flowing over those routes will be serviced by just one thread.
If a connection can be allocated for each route instead, then the traffic for each route could be handled by its own thread, allowing better scaling of federation links in a multiprocessor environment.
Example: adding two routes to forward from queue1 and queue2 to exchange1 on a peer:
qpid-route queue add broker1.fizzbin.com broker2.fizzbin.com exchange1 queue1
qpid-route queue add broker1.fizzbin.com broker2.fizzbin.com exchange1 queue2
with today's implementation, a single thread would be used to forward the traffic from both queue1 and queue2. If a connection is allocated to each route, then each queue's traffic could be serviced by its own thread.