I have built an RPC client-server application using AMQP php library. Are there any design best practices when running multiple back-end servers and concurrent client access ?
I got around that by creating unique call-back queues, like this:
$callback_queue = 'command_result_queue_' . uniqid();
However, even this way, seemingly at random, under high volume some messages get lost and I get hit with a timeout error: "PHP Fatal error: Uncaught exception 'PhpAmqpLib\Exception\AMQPTimeoutException' with message 'The connection timed out after 45 sec while awaiting incoming data"
I'm guessing there's something in particular about concurrent access to multiple RPC servers that's causing this issue but I can't put my finger on it.
To debug I've setup an AE to try and catch unroutable messages but it didn't catch anything. I've also enabled tracing but it's not telling me much either.