我已经使用PB了一段时间了,但是,Thrift一直在我的脑海里。 节俭的主要优点,正如我所看到的那样: 本机集合(即vector,集合等)与PB重复提供类似的function,但不太相似(除非您深入到文档所述的“不应该在大多数情况下需要”的RepeatedField,否则没有迭代器)。 提供了一个体面的RPC实现,而不是只是挂钩插入自己的。 更多官方支持的语言(PB提供对Java,C ++,Python的“官方”支持) 节俭的缺点: RPC的实现意味着我不能在我自己的(例如)encryption/身份validation层顶部插入。 Windows支持似乎不是很好。 PB似乎有,如果不是更好,更可访问的文件。 中性: Windows上的.lib / .dll的大小(Thrift)。 在Windows上大尺寸的.lib(PB,但它确实提供了一个明显更小的–lite)。 速度明智,他们似乎都是相似的。 我还没有准备好冒险,转而使用Thrift,任何人都可以为我提供更多的优点/缺点,或者有其他原因。 谢谢!
我正在构build一个包含两个组件的应用程序 – 用Haskell编写的服务器和用Qt(C ++)编写的客户端。 我正在用节俭的方式来沟通他们,我想知道为什么这么慢。 我做了性能testing,这是我的机器上的结果 结果 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 […]
节俭的主要目标是实现跨编程语言的高效可靠的通信。 但我认为HTTP-RPC也可以这样做,web开发人员几乎每个人都知道如何在http上工作,并且比Thrift更容易实现HTTP-RPC(json) 也许Thrift-RPC更快,那么谁能告诉我他们之间的差异?
我们正在研究运输/协议解决scheme,并正在进行各种性能testing,所以我认为如果他们已经这样做,我会与社区进行核实: 有没有人对简单的echo服务进行服务器性能testing,以及比较Linux上的EJB3,Thrift和Protocol Buffers的各种消息大小的序列化/反序列化? 主要的语言是Java,C / C ++,Python和PHP。 更新:我仍然对此非常感兴趣,如果有人做了任何进一步的基准,请让我知道。 此外,非常有趣的基准显示压缩的JSON执行类似/优于Thrift /协议缓冲区 ,所以我也扔JSON到这个问题。
我需要学习Apache Thrift的大学项目。 正如本教程所说,它是一个RPC框架,它是除了文档以外我能find的唯一一个Thrift 文档 。 有人能告诉我什么是RPC框架,这与Apache Thrift有什么关系?
Apache Thrift vs Google Protocol Buffers的最大利弊是什么?