+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/