为什么节约,为什么不使用HTTP RPC(JSON+;gzip)
Thrift的主要目标是实现跨编程语言的高效可靠通信。但我认为HTTP-RPC也可以做到这一点,web开发人员几乎每个人都知道如何使用HTTP,实现HTTP-RPC(json)比节约更容易为什么节约,为什么不使用HTTP RPC(JSON+;gzip),json,thrift,Json,Thrift,Thrift的主要目标是实现跨编程语言的高效可靠通信。但我认为HTTP-RPC也可以做到这一点,web开发人员几乎每个人都知道如何使用HTTP,实现HTTP-RPC(json)比节约更容易 也许节俭RPC更快,那么谁能告诉我它们之间的性能差异呢?除了速度之外,还有几个原因: Thrift完全生成客户机和服务器代码,包括您正在传递的数据结构,因此除了编写处理程序和调用客户机之外,您不必处理任何事情。所有内容,包括参数和返回都会自动验证和解析。因此,您可以免费获得数据的健全性检查 Thrift比HT
也许节俭RPC更快,那么谁能告诉我它们之间的性能差异呢?除了速度之外,还有几个原因:
它还链接到一些其他的节俭替代品。这里有一些关于不同序列化程序性能比较的好资源: 具体说到Thrift vs JSON:Thrift的性能可以与最好的JSON库(jackson,protostuff)相媲美,并且序列化的大小要低一些
在我看来,最强大的节约优势是方便的可互操作RPC调用和方便的二进制数据处理。Great answer Dvir!我也很喜欢节俭,在大多数情况下我更喜欢节俭。最大的困难是安装Thrift编译器,但一旦安装完成并与适当的maven插件结合,您就可以开始了。所需的紧凑的服务器/客户机代码非常性感@JacoVanNiekerk谢谢,我已经编译了很多次节俭了,对我来说,它似乎微不足道:)。在我看来,最大的缺点是python服务器不能很好地与thrift配合使用,这有GIL的限制(实际上thrift中的一个python服务器是我做的一个贡献,它试图解决这个问题)。但是对于C++或java来说,它是很棒的。大多数HTTP客户端也支持保持异类:4号可以通过使用所有HTTP客户端支持的保持生存来轻松地减轻。还可以发布二进制文件(尽管它不是RESTful),这将有助于紧凑的线上传输。