<div>Hi,</div><div><br></div><div>I need to architect a Java application using rabbitmq as its message broker. It is a distributed application and the message broker will play the role of connect the JVMs. Basically, each JVM has sets of objects (currently they are grouped by host:port) that can change messages to other objects in other groups in other virtual machines (there is a 1:1 bi-directional relationship between groups of objects in different JVMs).</div>
<div>The idea of use the broker is to avoid the number of tcp ports I have to open and also to take advantage of the message delivery guaranties.</div><div><br></div><div>The design is simple: each group of objects will have an exchange and 2 queues (incoming and outcoming) to change messages.</div>
<div><br></div><div>I would like to know if you guys advise the following configuration regarding rabbitmq:</div><div><br></div>1- Have 1 connection per JVM<div>2- Have multiple channels to that connection. Each channel will be associated with those 2 queues</div>
<div><br></div><div>What is concerning me is: the number of sends/receives per channel is high (about 5k/second). Should I have multiple connections (like a pool), or it is ok to use just 1 connection? If I have a pool of connections, I understand they will share the same tcp port, and I could not see any difference in using a single Connection.</div>
<div><br></div><div>Thanks in advance,<br clear="all"><br>-- <br>Thadeu de Russo e Carmo<br><a href="http://www.thadeu.com.br/">http://www.thadeu.com.br/</a><br><a href="http://www.caelum.com.br/">http://www.caelum.com.br/</a><br>
<a href="http://www.caelumobjects.com/">http://www.caelumobjects.com/</a><br>
</div>