文档章节

Grpc 和 Thrift 对比

CQ_LY
 CQ_LY
发布于 04/17 00:29
字数 525
阅读 288
收藏 0

RPC协议

远程过程调用, 计算机通信协议,允许运行于一台机器上的程序调用网络中另外一台机器的子程序

为什么选择RPC

  • 提高开发效率,开发人员可以把更多精力放在具体的接口实现,而不必考虑数据的底层传输问题。
  • 大多数rpc框架都是很多优秀开发人员的智慧结晶,它们的功能实现和执行效率都很优秀。
  • client端和server端必须遵循统一的接口规范,避免产生client和server之间接口或数据局结构不匹配的情况。

区别

  • 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敏感
    • 协议层、传输层有多种控制要求
    • 需要稳定的版本
    • 不需要良好的文档和示例

参考

gRPC vs Thrift

本文转载自:https://blog.csdn.net/dazheng/article/details/48830511

CQ_LY
粉丝 0
博文 9
码字总数 599
作品 0
昌平
程序员
私信 提问
Grpc介绍 — ProToBuf基本使用

RPC(Remote Procedure Call)远程过程调用,关注笔者的同学应该知道之前笔者出过关于Thrift对应的问题,这次主要来说的是Google开源的Grpc,和Thrift有很大的区别Grpc是基于HTTP2.0并且依赖...

喵了_个咪
02/28
198
0
Grpc-Gateway - Grpc兼容HTTP协议文档自动生成网关

因为之前的测试结果让笔者对PHP使用GRPC很失望,如果使用HTTP的方式Guzzle还可以提供并发能力来降低接口消耗,Grpc只能阻塞,但是如果使用HTTP的话对于调用限制和GO调用GO来说不太友好,有没...

喵了_个咪
03/18
534
0
springboot整合gprc 传输对象

一,grpc简介: GRPC是google开源的一个高性能、跨语言的RPC框架,基于HTTP2协议,基于protobuf 3.x,基于Netty 4.x +。GRPC与thrift、avro-rpc等其实在总体原理上并没有太大的区别,简而言之...

xiaomin0322
2018/04/26
735
0
gRPC 1.0 发布,来自 Google 的 RPC 框架

一直以来,构建一个高度可扩展且松耦合的系统是很困难的。来自Google的gRPC框架致力于解决这个领域问题。它自去年面世以来收到了社区的大量关注和使用。8月23日Google正式发布了gRPC的1.0版本...

局长
2016/09/06
2.4K
5
(11)学习笔记 ) ASP.NET CORE微服务 Micro-Service ---- Thrift高效通讯 (完结)

一、 什么是 RPC Restful 采用 Http 进行通讯,优点是开放、标准、简单、兼容性升级容易; 缺点是性能略低。在 QPS 高或者对响应时间要求苛刻的服务上,可以用 RPC(Remote Procedure Call)...

情话布墨
2018/06/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊nacos config的deleteConfig

序 本文主要研究一下nacos config的deleteConfig ConfigController nacos-1.1.3/config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigController.java @Controller@Re......

go4it
26分钟前
3
0
面试:原来Redis的五种数据类型底层结构是这样的

关注我,可以获取最新知识、经典面试题以及微服务技术分享   在Redis中会涉及很多数据结构,比如SDS,双向链表、字典、压缩列表、整数集合等等。Redis会基于这些数据结构自定义一个对象系统...

ccww_
32分钟前
4
0
java发送html模板的高逼格邮件

最近做了一个监测k8s服务pod水平伸缩发送邮件的功能(当pod的cpu/内存达到指定阈值后会水平扩展出多个pod、或者指定时间内pod数应扩展到指定数量),一开始写了个格式很low的邮件,像下面这样...

码农实战
46分钟前
10
0
php-fpm配置文件详解/MariaDB密码重置、慢查询日志

来源:https://blog.csdn.net/Powerful_Fy php-fpm主配置文件路径:/usr/local/php-fpm/etc/php-fpm.conf #位于安装php安装目录下的etc/目录中,该文件中最后一行将配置文件指向:include=/...

asnfuy
51分钟前
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部