Конечно, абсолютно. Посмотрите, как запрос в стиле RPC обтекает систему:
- Запрос выдан
- Запрашивающий теперь блокирует ожидание ответа на этот запрос
Это полностью реализуемо с асинхронной системой сообщений, такой как AMQP. Вам просто нужно сделать корреляцию RPC самостоятельно:
- Отправьте ваш запрос в асинхронном сообщении с уникальным идентификатором внутри (это не блокирует)
- Получать сообщения из системы обмена сообщениями и блокировать, пока вы не получите сообщение с тем же уникальным идентификатором (это означает, что вы только что получили свой ответ)
RabbitMQ , брокер AMQP, предлагает документацию онлайн о том, как именно это сделать.