Avro RPC can be _dramatically_ more compact, especially when used over a persistent connection. We use binary avro RPC over a WebSocket connection. The overhead for each request is a tiny blob of metadata and the message name. This compares very favorably with a full set of HTTP headers for each message. Another advantage we see is that with a persistent connection we can handle responses asynchronously; quickly serviced requests don't have to wait for slow ones. It all depends on the details of your use case, however.
On May 29, 2013, at 11:30, Mark <[EMAIL PROTECTED]> wrote:
> Very basic question but could one explain why one would choose Avro RPC over something like a simple restful service over HTTP?
> The only thing I can think of is it adds a little more structure to the request/response and slightly more compact. Other than that, I'm drawing a blank. As far as the response goes though, couldn't you simply return an Avro message from a restful http service and have the client parse it if you wanted more structure?
> Thanks for the clarification