+1 to all Mark said.
The reason why we're using Thrift is we're building a loosely-coupled
system on a single motherboard (sort of), and the idea of embedding 'n'
copies of an HTTP server is bad. There are times when RPC is good, and
when you want a fast and lightweight system with reasonable layering* and
multi-language support, thrift is hard to beat.
/r$
*Okay, theoretically reasonable, since I haven't seen any replacement
layers yet :)
--
STSM, WebSphere Appliance Architect
https://www.ibm.com/developerworks/mydeveloperworks/blogs/soma/