Если это выделенный одноранговый интерфейс, и ни одно из этих приложений не работает как сервер, то вы можете обойтись без единой очереди. Однако эта модель не поддерживает шаблон клиент-сервер. С другой стороны, шаблон клиент-сервер поддерживает одноранговый интерфейс, а также интерфейс клиент-сервер, и его не сложнее реализовать, так почему бы не использовать его?
В частности, сервер прослушивает известную очередь. Любое приложение, желающее управлять этой службой, отправляет сообщение в известную очередь. Сообщение содержит адрес получателя Reply-To, и сервер отправляет ответ этому получателю. Таким образом, серверное приложение может обрабатывать запросы от многих относительно анонимных (или, при желании, аутентифицированных) клиентов в любой точке сети.
Этот подход также поддерживает очередь клиента и сервера, не находящуюся в одном и том же механизме сообщений. Он поддерживает доступ к очередям в режиме FIFO, который должен быть более производительным. Он обрабатывает классический случай асинхронных сообщений быстрого производителя, медленного потребителя лучше, чем одна очередь. Он поддерживает динамические ответы на пункты назначения. Это позволяет перемещать приложения независимо друг от друга. И если у вас действительно одноранговая сеть без элементов шаблона клиент-сервер, то эта архитектура также поддерживает это.