I actually built something very similar 2 years ago http://radial.retromocha.com
Mine used a node proxy instead of a message queue, but same basic idea. It makes scaling and changing languages so much easier.
Really, the trick is having a standard message protocol that everything abides by. Once you have that, building a proxy and frameworks around it is pretty trivial. I chose something similar to JSON-RPC and for what I wanted/needed it worked well.
It never saw any kind of scale, but it was a fun project.