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.
--
Connor

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
> 
> -M

Reply via email to