gRPC vs thrift

区别

  • Grpc

    • Grpc 是高性能,通用的开源RPC框架,基于HTTP/2协议标准

    • Grpc 以protobuf作为LDL(接口描述语言),通过protoc来编译框架代码

    • 支持 C, C++, Node.js, Python, Ruby, Objective-C,PHP and C#

  • Thrift

    • Thrift是一种可伸缩的跨语言服务的RPC软件框架。它结合了功能强大的软件堆栈的代码生成引擎,以建设服务,高效、无缝地在多种语言间结合使用

    • Thrift 以thrift 作为LDL

    • 支持C、C++ 、C# 、D 、Delphi 、Erlang 、Go 、Haxe 、Haskell 、Java 、JavaScript 、node.js 、OCaml 、Perl 、PHP 、Python 、Ruby 、SmallTalk

    • 使用Thrift:Hadoop、HBase、Cassandra、Scribe、LastFM、Facebook、 Evernot blockchain blockchain

如何选择

  • 什么时候应该选择gRPC而不是Thrift

    • 需要良好的文档、示例

    • 喜欢、习惯HTTP/2、ProtoBuf

    • 对网络传输带宽敏感

  • 什么时候应该选择Thrift而不是gRPC

    • 需要在非常多的语言间进行数据交换

    • 对CPU敏感

    • 协议层、传输层有多种控制要求

    • 需要稳定的版本

    • 不需要良好的文档和示例

Last updated

Was this helpful?