首页 > gRPC编程详解 阅读:756,920

周哥教IT-gRPC编程详解

gRPC:Google推出的基于protobuf实现的RPC。 A high-performance, open-source universal RPC framework。 gRPC是一个现代的、开源的、高性能远程过程调用(RPC)框架,可以在任何平台运行。gRPC使客户端和服务器端应用程序能够透明地进行通信,并简化了连接系统的构建。gRPC支持的语言包括C++、Ruby、Python、Java、Go等。 gRPC在客户端与服务端通信之中应用非常广泛,事实上的标准。服务端开发必备技能。
Restful API(基于http,提供get, post, put, delete,C/C++中主要是基于CURL实现)

gRPC和Restful API都提供了一套通信机制,用于server/client模型通信,而且它们都使用http作为底层的传输协议(严格地说, gRPC使用的http2.0,而restful api则不一定)。

不过gRPC特有优势:
1,gRPC可以通过protobuf来定义接口,从而可以有更加严格的接口约束条件。我们不希望客户端给我们传任意数据,尤其是考虑到安全性的因素,通常需要对接口进行更加严格的约束。这时gRPC就可以通过protobuf来提供严格的接口约束。
2,另外,通过protobuf可以将数据序列化为二进制编码,这会大幅减少需要传输的数据量,从而大幅提高性能。
3,gRPC可以方便地支持流式通信(理论上通过http2.0就可以使用streaming模式, 但是通常web服务的restful api似乎很少这么用,通常的流式数据应用如视频流,一般都会使用专门的协议如HLS,RTMP等,这些不是通常的web服务而是有专门的服务器应用。)

VIP视频课程

gRPC编程详解

课程课件

gRPC课程课件pdf

课程参考

gRPC官网
gRPC支持各编程语言

底部图片广告2_PC

周哥教IT,一个分享编程知识的公众号。跟着周哥一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

文章不烧脑细胞,人人都可以学习。

当你决定关注「周哥教IT」,你已然超越了90%的程序员!

IT黄埔-周哥教IT技术交流QQ群:213774841, 期待您的加入!

二维码
微信扫描二维码关注