It sends data in frames, where each frame is preceded by length information. TFramedTransport – This transport is required when using a non-blocking server.TSimpleFileTransport – This transport writes to a file.Suitable for parsing by scripting languages. TSimpleJSONProtocol – A write-only protocol that cannot be parsed by Thrift because it drops metadata using JSON.TJSONProtocol – Uses JSON for encoding of data.TCompactProtocol – More compact binary format typically more efficient to process as well.Faster to process than the text protocol but more difficult to debug. TBinaryProtocol – A straightforward binary format, simple, but not optimized for space efficiency.The underlying I/O part of the stack is implemented differently for different languages. Besides the client part, Thrift includes server infrastructure to tie protocols and transports together, like blocking, non-blocking, and multi-threaded servers. With Thrift, it is possible to define a service and change the protocol and transport without recompiling the code. The protocol and transport layer are part of the runtime library. In contrast to built-in types, created data structures are sent as result in generated code. From this file, the services generate client and processor code. The top part is generated code from the Thrift definition. Thrift includes a complete stack for creating clients and servers. The Apache Thrift API client/server architecture The implementation was described in an April 2007 technical paper released by Facebook, now hosted on Apache. With a remote procedure call (RPC) framework it combines a software stack with a code generation engine to build cross-platform services which can connect applications written in a variety of languages and frameworks, including ActionScript, C, C++, C#, Cappuccino, Cocoa, Delphi, Erlang, Go, Haskell, Java, JavaScript, Objective-C, OCaml, Perl, PHP, Python, Ruby, Elixir, Rust, Scala, Smalltalk and Swift. It was developed at Facebook for "scalable cross-language services development" and as of 2020 is an open source project in the Apache Software Foundation. Used for defining and creating services for numerous programming languages. Thrift is an interface definition language and ActionScript, C, C#, C++, D, Dart, Delphi, Erlang, Go, Haskell, Haxe, Java, JavaScript, Node.js, OCaml, Perl, PHP, Python, Rust, Scala, Smalltalk
0 Comments
Leave a Reply. |