Hello all,

We're experimenting a bit with Avro and we've got a use case that I'm hoping to 
get some help with..  we'd like clients to be able to send messages to a server 
that would then forward the messages to a third-party (still in Avro), but the 
messaging would be asynchronous..  the trouble we're running into is with the 
schema handshake since there's someone between the client and the ultimate 
recipient of the message..  we'd like to avoid having the middle-man open up 
the body of the HTTP request but we can't negotiate the handshake without it..

Since the transport is abstracted out, would it make any sense at all to push 
the handshake request into HTTP headers for the HTTP transport?  Other 
transports could still embed the handshake message with the rest of the 
message, but by pushing the handshake into the headers for HTTP, a proxy like 
ours could negotiate the handshake without opening up the body..  this could 
arguably improve performance even in normal request/response scenarios since 
the body wouldn't have to be parsed twice in cases where the client has to 
resend the request with a new schema..

If this seems like a reasonable approach, we might be able to put together an 
prototype implementation with one of the bindings and see if it makes sense to 
adjust the spec..

Thanks,
Saleem.

Reply via email to