Questions tagged [thrift]

Thrift is a software framework for scalable cross-platform, cross-language services development available from Apache.

Thrift combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, C, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk, Delphi, Graphviz, Go and OCaml.

Thrift's primary goal is to enable efficient and reliable communication across platforms and programming languages by abstracting the portions of each language that tend to require the most customization into a common library that is implemented in each language.

Originally developed at Facebook, Thrift was open sourced in April 2007 and entered the Apache Incubator in May, 2008. Thrift graduated from the Incubator in October, 2010.

1849 questions
296
votes
15 answers

Biggest differences of Thrift vs Protocol Buffers?

What are the biggest pros and cons of Apache Thrift vs Google's Protocol Buffers?
Bob
127
votes
6 answers

What are the key differences between Apache Thrift, Google Protocol Buffers, MessagePack, ASN.1 and Apache Avro?

All of these provide binary serialization, RPC frameworks and IDL. I'm interested in key differences between them and characteristics (performance, ease of use, programming languages support). If you know any other similar technologies, please…
andreypopp
  • 6,427
  • 5
  • 23
  • 25
107
votes
1 answer

What is RPC framework and Apache Thrift?

I need to learn Apache Thrift for a University project. As this tutorial says, it is an RPC framework, and it was the only document I could find for Thrift other than their documentation. Can someone tell me what is a RPC framework and how does this…
bula
  • 7,115
  • 5
  • 22
  • 39
69
votes
8 answers

Performance comparison of Thrift, Protocol Buffers, JSON, EJB, other?

We're looking into transport/protocol solutions and were about to do various performance tests, so I thought I'd check with the community if they've already done this: Has anyone done server performance tests for simple echo services as well as…
Parand
  • 91,328
  • 43
  • 147
  • 182
54
votes
2 answers

Why Thrift, Why not HTTP RPC(JSON+gzip)

Thrift's primary goal is to enable efficient and reliable communication across programming languages. but I think HTTP-RPC can also do that, web developer almost everyone knows how to work on http and it is easier to implement HTTP-RPC(json) than…
jebbthe
  • 543
  • 1
  • 5
  • 4
43
votes
4 answers

Thrift vs Protocol buffers

I've been using PB for quite a while now, but, Thrift has constantly been at the back of my mind. The primary advantages of thrift, as I see it are: Native collections (i.e, vector, set etc) vs PBs repeated providing functionality similar to, but…
please delete me
  • 693
  • 2
  • 8
  • 17
42
votes
5 answers

Haskell Thrift library 300x slower than C++ in performance test

I'm building an application which contains two components - server written in Haskell, and client written in Qt (C++). I'm using thrift to communicate them, and I wonder why is it working so slow. I made a performance test and here is the result on…
remdezx
  • 2,915
  • 23
  • 47
40
votes
4 answers

Dictionary in protocol buffers

Is there any way to serialize a dictionary using protocol buffers, or I'll have to use Thrift if I need that?
ibz
  • 38,044
  • 21
  • 65
  • 83
40
votes
8 answers

Why I am getting java.lang.AbstractMethodError errors?

What are the possible causes for ABstractMethodError? Exception in thread "pool-1-thread-1" java.lang.AbstractMethodError: org.apache.thrift.ProcessFunction.isOneway()Z at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:51) …
Avinash
  • 11,749
  • 27
  • 102
  • 175
39
votes
4 answers

Thrift, Avro, Protocolbuffers - Are they all dead?

Working on a pet project (cassandra, spark, hadoop, kafka) I need a data serialization framework. Checking out the common three frameworks - namely Thrift, Avro and Protocolbuffers - I noticed most of them seem to be dead-alive having 2 minor…
dominik
  • 493
  • 1
  • 5
  • 10
39
votes
5 answers

How to install bison on mac OSX

I'm trying to install Thrift on my macbook. Otherwise I got an error: configure: error: Bison version 2.5 or higher must be installed on the system! So tried to install Bison on my OS, but I didn't find tutorial on internet. Does anyone who can…
S7_0
  • 1,015
  • 2
  • 16
  • 28
32
votes
6 answers

fatal error: 'openssl/bio.h' file not found

I am trying to install Apache Thrift on my Mac, but am hitting an issue. I followed the installation steps on this page, but when I try to do the steps for installing libevent, I get the following error when running the make command: fatal error…
Lewis-Eric
  • 321
  • 1
  • 3
  • 3
31
votes
3 answers

Difference between Apache Thrift and ZeroMQ

I understand that Apache Thrift and ZeroMQ are softwares belonging to different categories, and it is not easy to do a comparison since it is an apple to orange comparison. But I don't know why they belong to different categories. Aren't they both…
Joyce Babu
  • 15,980
  • 9
  • 57
  • 85
31
votes
4 answers

How to I get started with Apache Thrift?

I wanted to create a simple Thrift server for C++ and provide a client with Python language. I went to the official site but it lacks any good tutorials or documentation. I am having difficulty trying it out. Is there any good Apache Thrift…
AMY W
  • 319
  • 1
  • 3
  • 3
27
votes
1 answer

Ping Pong with Haskell and Thrift gets stuck

I'm trying to do a simple Ping Pong using Haskell and Thrift. However, it does only one repetition and then it gets stuck. I assume that the problem is in the (in)correct usage of Thrift rather than in Haskell. Probably something is not flushed…
J Fritsch
  • 3,278
  • 15
  • 38
1
2 3
99 100