In accordance with this article , the application interface module and the playground interact through RPC calls. To support scaling, each instance and playground can be created for the application interface.

I ask myself what / are the patterns (solutions) for balancing the load between the external request and the internal instance while maintaining the RPC.
One solution could be to use one global work queue, where tasks are placed inside it with the "Reply-To" heading. This header should point to one queue of the instance of the interface on which the responses are placed. Something like the following schema (from the RabbitMQ Tutorial ) with rpc_queue shared between internal instances: 
I'm not sure if this would be a good way to make it especially the fact that if the general queue is disabled, the whole system fails (but how to take care of this?).
Thanks.
Gugo source share