10

I am looking to use a RPC framework for internal use. The framework has to be cross language. I am exploring Apache Thrift right now. Google protocol Buffers does not provide RPC capabilities exactly. What are the choices I have got apart from Thrift. (my servers will be primarily Java and the clients will be Java, Python, PHP).

leppie
  • 109,129
  • 16
  • 185
  • 292
sheki
  • 8,093
  • 10
  • 45
  • 68
  • After Exploring a bit, and looking at all the options available along with the Documentation, I prefer Thrift. Waiting for Message Pack to be more mature – sheki Sep 17 '10 at 12:01
  • Curious tho what exactly are you looking with RPC over very simple request/response handling ("REST"); for example simple HTTP+JSON combination works rather well, convenient, performance, simple. So what would a framework like thrift, PB, Hessian or others buy you? – StaxMan Oct 28 '10 at 06:12
  • Thrift is definitely faster and lighter than the HTTP/JSON approach. More requests can be served using Thrift than HTTP+JSON/XML. So Thrift is a good choice for internal services. REST approach may be best for external APIs – sheki Oct 31 '10 at 03:54

3 Answers3

4

There is also MessagePack which claims to be faster than Protocol Buffers and have more features than Thrift.

sheki
  • 8,093
  • 10
  • 45
  • 68
  • 6
    To be honest, performace differences between PB, Thrift and alternatives seldom matter a lot -- they are all fast enough for most uses. – StaxMan Oct 28 '10 at 06:14
2

I would look at REST as a first option because it is ubiquitous and no-nonsense.

If performance and representation really needs to be compact, I have heard good things about Apache AVRO and my fingers are twitching to try it out in anger.

Peter Tillemans
  • 33,685
  • 9
  • 76
  • 112
1

There also seems to be ICE: which uses Google Protocol Buffers for RPC.

sheki
  • 8,093
  • 10
  • 45
  • 68