<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'><div dir='ltr'>
<div>Hi,</div><div><br></div><div>We are considering using RabbitMQ for a service that needs to exhibit high performance as well as reliability. The service is written in 3 languages (C, Java and Erlang).</div><div><br></div><div>There will be a single Java application, but this might have 3 RabbitMQ producers/consumers on different threads.</div><div><br></div><div>There will be 2 or 3 C applications (processes).</div><div><br></div><div>There will be 1 or 2 Erlang applications (all on the same Erlang VM).</div><div><br></div><div>A few questions:</div><div><br></div><div>1) Can the Erlang application(s) reside on the same VM as RabbitMQ? Is this recommended? In this case the Erlang app will have a NIF, and could be quite busy. How would you go about deploying this, can you just create an Erlang ez file and have RabbitMQ load it?</div><div><br></div><div>2) What is a typical configuration: Many exchanges, few queues? Or few exchanges with many queues? What are the rules of thumb in deciding how the exchange/queue layout is modeled?</div><div><br></div><div>3) What are the performance hits in using external exchanges?&nbsp;</div><div><br></div><div>4) Can a queue be on a different node than an exchange?</div><div><br></div><div>5)&nbsp;This may sound like a really simple question, but I'm struggling with the idea of a broker. Is a broker a combination of exchange + queues, or is it a set of exchanges on the same Erlang VM?</div><div><br></div><div>Thanks, and looking forward to your responses</div><div><br></div><div>Matt</div>                                               </div></body>
</html>