Yes, you can have multiple queues on the RabbitMQ instance and a server can also publish messages.
There isn't any performance issues with the scenario you described. The publisher will need to use two or more clients (one for each service) and instead of calling
await clientA.GetAsync()
it will call
var resA = clientA.GetAsync();
var resB = clientB.GetAsync();
...
var resAll = Task.WaitAll/Task.WaitAny(new Task[]{resA, resB});
Yeah, that will be too costly because it would have to make a server call pretty quickly to confirm that the code is complete. (The Roslyn desktop C# Interactive can do this because it's right on the desktop)
You can press Ctrl-Enter to send complete code, if you wish to send submissions faster.
I didn't know that was possible. Even if you can compile Roslyn to JS to run on the client, you still need to compile most parts of the BCL as well, or else you still need to make a server call.