Another RPC and serialization option, Thrift consists of a library for handling distributed object / RPC communication and serialization and a compiler. Thrift is a free open source environment in accordance with Apache License 2.0, which allows the software user to freely use the software for any purpose, distribute it, modify and distribute modified versions of the software under license terms, excluding royalties. In addition, it can be combined with licensed GPL 3.0 content if the collaboration license is also GPL 3.0. Thrift is a fairly new structure that grew out of the RPC platform developed by Facebook and then released as an open source. It has existed since 2008 and has a thriving user community.
Thrift by default uses industry standard JSON or another built-in protocol to define data types and protocols; however, it also supports custom alternative interface description languages. Trrift libraries themselves can be compiled in several languages (regardless of the platform), and the Thrift compiler can automatically generate classes, server, client and stub / skeleton code from interface / configuration files in several languages. Thrift has a server lock / unlock option to choose from. Limited network code must be written if Thrift is used because it is enabled. IDL files must be written to define packet data / commands for serialization / deserialization.
Thrift supports the following primitive types:
- bool: Boolean (true or false)
- byte: signed 8-bit integer
- i16: 16-
- i32: 32-
- i64: 64-
- double: 64-
- string: , UTF-8
:
Thrift , (, /) . , / . / , . / , .
Thrift ( ), RPC - , , /, .