Apache Thrift

Apache Thrift is a communications protocol or an open- source framework for creating interoperable, scalable services. It combines a software protocol stack with a generator component for creating services that can , Java, Python, PHP, Ruby, Erlang, Perl, Go, Haskell, C #, Cocoa, Smalltalk, OCaml and Delphi and other languages ​​operate between C seamlessly.

Development and Description

The project has its origins in the social networking platform Facebook, to support the development of highly scalable backend services. The Apache Thrift project is a software development project of the Apache Software Foundation and is released under the Apache 2.0 license.

Through a simple and straightforward interface definition language (IDL) Thrift different types are defined. The processing of these Thrift IDL files is implemented by a code generator which produces the relevant code for the various target languages.

Due to the increasing needs and an analysis by the developer of the social networking platform Facebook features were sought that already exists on interoperability, efficiency, traffic performance and simplicity should surpass. Developed from this necessity Facebook engineers more efficient protocols and services, which were subsequently to Thrift. The social network Facebook is now using Thrift for its back-end services.

Thrift Architecture

Thrift includes a complete software protocol stack for creating clients and servers. The upper part of the stack code is generated from the thrift definition file, which include this required the client and processor code. The data structures, other than built-in types are transmitted, are also included in the generated code. Protocol and transport are part of the Thrift runtime library.

The included in Thrift server infrastructure adds together protocols and transports and binds them together. The underlying I / O as a portion of the stack depends on the language in question. For Java and Python networks the implemented libraries are used, while for C implementations own reaction takes place.

Supported protocols

Thrift supports both text and binary protocols protocols. The binary protocols have a higher rating than the secondary text protocols. Text protocols are used, for example when troubleshooting. Some of the protocols that Thrift supports:

Pictures of Apache Thrift

71841
de