<div dir="ltr"><div style>On Server 1 (S1) we have a producer (P1) and a consumer (C1), P1 sends messages to a consumer (C2) on a Server (S2), which replies to S1 by sending messages from producer (P2) to the consumer on S1, C1.</div>
<div><br></div>The system creates a queue for C1 to receive a reply before P1 publishes a message to the exchange.  This way there is no possibility that P2 can publish a message to the exchange that C1 will miss.<div><br>
</div><div>We may have been using bad practice up until now as we have been creating doing the following:</div><div>create new connection to RMQ</div><div>create new channel on connection</div><div>declare exchange (it is durable so it always exists)</div>
<div style>declare queue (this is a new queue everytime)</div><div style>bind queue to exchange</div><div style>P1 sends message to exchange</div><div style>C1 starts queueDevliery loop to wait for replies.</div><div style>
<br></div><div style>The problem here is that the messages that P1 sends are time sensitive and C1 cannot miss any of the replies.  The startup time for a new connection seems to be the biggest delay channel is the next slowest and the others are non trivial.</div>
<div style><br></div><div style>What is the suggested best practice for speeding up my process?</div><div style><br></div><div style>Thanks</div><div><div><br></div>-- <br>Rob Woolfson</div></div>