3 ms·
Having used Thrift and PB I find myself partial to Avro because it's very similar to what I worked with in the past. Key points about Avro: Schema is separate
by angstrom 15y ago
Having used Thrift and PB I find myself partial to Avro because it's very similar to what I worked with in the past. Key points about Avro:
Schema is separate from data. Network bandwidth is expensive, there is no reason to transfer the schema with each request.
Data format can change allowing server to support multiple client versions in a reasonable range. Rather than using Thrift's model of always adding fields and making them Null when no longer necessary.
It's possible to layer a higher layer abstraction above a lower layer request abstraction to support more complex objects without generating complex serialization.