When comparing Apache Thrift vs Apache Avro, the Slant community recommends Apache Thrift for most people. In the question“What are the best data serialization frameworks?” Apache Thrift is ranked 2nd while Apache Avro is ranked 3rd. The most important reason people chose Apache Thrift is:
Although it was initially developed by Facebook, it's now open source under the Apache License.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Open Source
Although it was initially developed by Facebook, it's now open source under the Apache License.
Pro Simple Interface Definition Language (IDL)
The IDL for Thrift looks quite similar to JSON / is comfortably human readable.
Pro Includes built in language bindings for most popular languages
The current list includes C, C++, C#, Java, Python, PHP, Perl, Ruby and quite a few others.
Pro Easy to read definition files
Considering that Thrift's WSDL documents tend to be smaller and more straightforward means that it has easy to read definition files.
Pro Dynamic typing
The data structure's schema is encoded in the message alongside its data, allowing you to easily amend the data structure and have this continue to be understood by other systems. This also avoids the need for versioning, as the data's related structure can be seen directly.
Cons
Con Binds communication logic to Business logic
Cannot abstract api functionality/data to edge cases in distributed architecture. Instead uses localized api pattern.