Apache Thrift logo

Apache Thrift

Software framework for scalable cross-language services development
74
46
+ 1
0

What is Apache Thrift?

The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages.
Apache Thrift is a tool in the Serialization Frameworks category of a tech stack.
Apache Thrift is an open source tool with 7K GitHub stars and 3.1K GitHub forks. Here’s a link to Apache Thrift's open source repository on GitHub

Who uses Apache Thrift?

Companies
49 companies reportedly use Apache Thrift in their tech stacks, including Uber, Slack, and Topica Native.

Developers
24 developers on StackShare have stated that they use Apache Thrift.

Apache Thrift Integrations

Why developers like Apache Thrift?

Here’s a list of reasons why companies and developers use Apache Thrift
Top Reasons
Be the first to leave a pro
Apache Thrift Reviews

Here are some stack decisions, common use cases and reviews by companies and developers who chose Apache Thrift in their tech stack.

StackShare Editors
StackShare Editors
Prometheus
Prometheus
Chef
Chef
Consul
Consul
Memcached
Memcached
Hack
Hack
Swift
Swift
Hadoop
Hadoop
Terraform
Terraform
Airflow
Airflow
Apache Spark
Apache Spark
Kubernetes
Kubernetes
gRPC
gRPC
HHVM (HipHop Virtual Machine)
HHVM (HipHop Virtual Machine)
Presto
Presto
Kotlin
Kotlin
Apache Thrift
Apache Thrift

Since the beginning, Cal Henderson has been the CTO of Slack. Earlier this year, he commented on a Quora question summarizing their current stack.

Apps
  • Web: a mix of JavaScript/ES6 and React.
  • Desktop: And Electron to ship it as a desktop application.
  • Android: a mix of Java and Kotlin.
  • iOS: written in a mix of Objective C and Swift.
Backend
  • The core application and the API written in PHP/Hack that runs on HHVM.
  • The data is stored in MySQL using Vitess.
  • Caching is done using Memcached and MCRouter.
  • The search service takes help from SolrCloud, with various Java services.
  • The messaging system uses WebSockets with many services in Java and Go.
  • Load balancing is done using HAproxy with Consul for configuration.
  • Most services talk to each other over gRPC,
  • Some Thrift and JSON-over-HTTP
  • Voice and video calling service was built in Elixir.
Data warehouse
  • Built using open source tools including Presto, Spark, Airflow, Hadoop and Kafka.
Etc
See more

Apache Thrift Alternatives & Comparisons

What are some alternatives to Apache Thrift?
gRPC
gRPC is a modern open source high performance RPC framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking...
Protobuf
Protocol buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler.
REST
An architectural style for developing web services. A distributed system framework that uses Web protocols and technologies.
Avro
It is a row-oriented remote procedure call and data serialization framework developed within Apache's Hadoop project. It uses JSON for defining data types and protocols, and serializes data in a compact binary format.
MessagePack
It is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON. But it's faster and smaller. Small integers are encoded into a single byte, and typical short strings require only one extra byte in addition to the strings themselves.
See all alternatives

Apache Thrift's Followers
46 developers follow Apache Thrift to keep up with related blogs and decisions.
Ben Edmond
Uwe Sandner
web-arch
John Alton
Mohamma76685757
Wei Feng
Luoshang Pan
gary-morgan
Diego Caravana
Rob Collins