所有这些都提供了二进制序列化,RPC框架和IDL.我对它们与特性(性能,易用性,编程语言支持)之间的关键差异感兴趣.
如果您了解任何其他类似技术,请在答案中提及.
我需要为大学项目学习Apache Thrift.正如本教程所说,它是一个RPC框架,它是我为Thrift找到的唯一文档,而不是他们的文档.
有人能告诉我什么是RPC框架,这与Apache Thrift有什么关系?
我们正在研究传输/协议解决方案,并且即将进行各种性能测试,所以我想如果他们已经这样做了,我会向社区查询:
有没有人为简单的echo服务进行服务器性能测试,以及比较Linux上的EJB3,Thrift和Protocol Buffers的各种消息大小的序列化/反序列化?
主要语言是Java,C/C++,Python和PHP.
更新:我对此仍然很感兴趣,如果有人做了进一步的基准测试,请告诉我.此外,非常有趣的基准测试显示压缩JSON执行与Thrift/Protocol Buffers相似/更好,因此我也将JSON抛入此问题.
Thrift的主要目标是实现跨编程语言的高效可靠的通信.但我认为HTTP-RPC也可以做到这一点,Web开发人员几乎每个人都知道如何使用http,并且比Thrift更容易实现HTTP-RPC(json),
也许Thrift-RPC更快,然后谁能告诉我它们之间的性能差异?
我已经使用PB很长一段时间了,但是,Thrift一直在我的脑海里.
正如我所看到的那样,节俭的主要优点是:
Thrift的缺点:
中性:
我还没有准备好冒险尝试切换到Thrift,有人可以给我更多的优点/缺点,或者有理由去某种方式吗?
谢谢!
我正在构建一个包含两个组件的应用程序 - 用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在这个测试中这么慢?如何提高性能?
这是文件: …
我知道Apache Thrift和ZeroMQ是属于不同类别的软件,并且要进行比较并不容易,因为它是一个苹果与橙色的比较.但我不知道他们为什么属于不同的类别.他们是不是都习惯在不同服务之间传递数据,这些服务可能会也可能不会用不同的语言编写?
我何时应该使用Thrift?何时应该使用消息队列?
我想为C++创建一个简单的Thrift服务器,并为客户端提供Python语言.我去了官方网站,但它没有任何好的教程或文档.我很难尝试.
对于一个全新的人,有没有什么好的Apache Thrift教程?
我正在尝试在我的Mac上安装Apache Thrift,但是我遇到了一个问题.我按照此页面上的安装步骤操作,但是当我尝试执行安装步骤libevent
时,运行make
命令时出现以下错误:
由于找不到'openssl/bio.h'文件导致致命错误
我检查了我正在使用的openSSL版本,它是"0.9.8zg"
关于我应该怎么做才能解决这个问题的建议?