标签: thrift


Apache Thrift,Google Protocol Buffers,MessagePack,ASN.1和Apache Avro之间的主要区别是什么?

所有这些都提供了二进制序列化,RPC框架和IDL.我对它们与特性(性能,易用性,编程语言支持)之间的关键差异感兴趣.

如果您了解任何其他类似技术,请在答案中提及.

thrift asn.1 protocol-buffers avro

121
推荐指数
6
解决办法
3万
查看次数

什么是RPC框架和Apache Thrift?

我需要为大学项目学习Apache Thrift.正如本教程所说,它是一个RPC框架,它是我为Thrift找到的唯一文档,而不是他们的文档.

有人能告诉我什么是RPC框架,这与Apache Thrift有什么关系?

rpc thrift

90
推荐指数
1
解决办法
4万
查看次数

Thrift,Protocol Buffers,JSON,EJB等的性能比较?

我们正在研究传输/协议解决方案,并且即将进行各种性能测试,所以我想如果他们已经这样做了,我会向社区查询:

有没有人为简单的echo服务进行服务器性能测试,以及比较Linux上的EJB3,Thrift和Protocol Buffers的各种消息大小的序列化/反序列化?

主要语言是Java,C/C++,Python和PHP.

更新:我对此仍然很感兴趣,如果有人做了进一步的基准测试,请告诉我.此外,非常有趣的基准测试显示压缩JSON执行与Thrift/Protocol Buffers相似/更好,因此我也将JSON抛入此问题.

python java performance thrift protocol-buffers

68
推荐指数
5
解决办法
6万
查看次数

为什么不是Thrift,为什么不是HTTP RPC(JSON + gzip)

Thrift的主要目标是实现跨编程语言的高效可靠的通信.但我认为HTTP-RPC也可以做到这一点,Web开发人员几乎每个人都知道如何使用http,并且比Thrift更容易实现HTTP-RPC(json),

也许Thrift-RPC更快,然后谁能告诉我它们之间的性能差异?

json thrift

54
推荐指数
2
解决办法
3万
查看次数

Thrift vs Protocol缓冲区

我已经使用PB很长一段时间了,但是,Thrift一直在我的脑海里.

正如我所看到的那样,节俭的主要优点是:

  1. 本地集合(即向量,集等)与PB重复提供类似但不完全相似的功能(除非你深入研究文档声明"在大多数情况下不需要"的RepeatedField),否则没有迭代器.
  2. 提供了一个不错的RPC实现,而不是只是挂钩插入自己的.
  3. 更多官方支持的语言(PB为Java,C++,Python提供"官方"支持)

Thrift的缺点:

  1. RPC实现意味着我无法在顶部插入我自己的(例如)加密/认证层.
  2. Windows支持看起来不是很好.
  3. PB肯定似乎有更容易获得的文档,如果不是更好的话.

中性:

  • Windows(Thrift)上.lib/.dll的未知大小.
  • Windows上大尺寸的.lib(PB,但确实提供了明显更小的-lite).
  • 速度明智,他们似乎都很相似.

我还没有准备好冒险尝试切换到Thrift,有人可以给我更多的优点/缺点,或者有理由去某种方式吗?

谢谢!

c++ windows thrift protocol-buffers

43
推荐指数
4
解决办法
1万
查看次数

Haskell Thrift库在性能测试中比C++慢300倍

我正在构建一个包含两个组件的应用程序 - 用Haskell编写的服务器和用Qt(C++)编写的客户端.我正在使用节俭来传达它们,我想知道它为什么这么慢.

我进行了性能测试,这是我机器上的结果

结果

C++ server and C++ client:

Sending 100 pings                    -    13.37 ms
Transfering 1000000 size vector      -   433.58 ms
Recieved: 3906.25 kB
Transfering 100000 items from server -  1090.19 ms
Transfering 100000 items to server   -   631.98 ms

Haskell server and C++ client:

Sending 100 pings                       3959.97 ms
Transfering 1000000 size vector      - 12481.40 ms
Recieved: 3906.25 kB
Transfering 100000 items from server - 26066.80 ms
Transfering 100000 items to server   -  1805.44 ms
Run Code Online (Sandbox Code Playgroud)

为什么Haskell在这个测试中这么慢?如何提高性能?

这是文件: …

c++ performance networking haskell thrift

42
推荐指数
5
解决办法
7284
查看次数

Apache Thrift和ZeroMQ之间的区别

我知道Apache Thrift和ZeroMQ是属于不同类别的软件,并且要进行比较并不容易,因为它是一个苹果与橙色的比较.但我不知道他们为什么属于不同的类别.他们是不是都习惯在不同服务之间传递数据,这些服务可能会也可能不会用不同的语言编写?

我何时应该使用Thrift?何时应该使用消息队列?

comparison thrift message-queue zeromq

31
推荐指数
3
解决办法
1万
查看次数

如何开始使用Apache Thrift?

我想为C++创建一个简单的Thrift服务器,并为客户端提供Python语言.我去了官方网站,但它没有任何好的教程或文档.我很难尝试.

对于一个全新的人,有没有什么好的Apache Thrift教程?

thrift thrift-protocol

30
推荐指数
3
解决办法
2万
查看次数

致命错误:找不到'openssl/bio.h'文件

我正在尝试在我的Mac上安装Apache Thrift,但是我遇到了一个问题.我按照此页面上的安装步骤操作,但是当我尝试执行安装步骤libevent时,运行make命令时出现以下错误:

由于找不到'openssl/bio.h'文件导致致命错误

实际错误的屏幕截图

我检查了我正在使用的openSSL版本,它是"0.9.8zg"

关于我应该怎么做才能解决这个问题的建议?

openssl thrift libevent

30
推荐指数
4
解决办法
3万
查看次数