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
