前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于远程过程调用gRPC的那些事儿

关于远程过程调用gRPC的那些事儿

作者头像
程序那些事儿
发布2023-03-07 11:20:29
4680
发布2023-03-07 11:20:29
举报
文章被收录于专栏:程序那些事儿

如果你接触过分布式系统的话,那么你一定接触过RPC,它是Remote Procedure Call的缩写,翻译过来的意思是远程过程调用,用通俗地语言来说就是允许一台计算机上的程序去执行另一台机器上的程序,而能够实现这种远程需求的就是RPC这种协议。而gRPC就是谷歌实现的一种RPC协议,因为它更快速,高效且安全,因此很多公司选择它作为RPC的实现。

诞生背景

在2000年之前,人们就已经有RPC调用的实现,当时人们采用的是REST来实现,但是这种效率非常低下,因此,在2016年,谷歌推出了免费开源的gRPC协议。

因为它的性能非常强,它的轻量级消息比json的消息传输性能提升了非常多。

此外,它还提供了非常方便的代码生成工具,你可以非常方便地生成各种语言对应的RPC代码。

gRPC的优点

就像我们之前说的一样,性能是最重要的因素,无论你是多么地好用,多么地方便,如果你的效率不够高,你是不能得到大部分人的认可的。而这也是c语言一直占据编程市场份额的主要语音,性能足够强大。

gRRC因为提供了自动生成工具,因此通过定义通用的proto文件,我们可以非常快速地构建代码,可以非常方便地生成各种语言对应的代码,非常适合多语言的团队项目。

gRPC是支持双向流的,这对于游戏应用来说有着巨大的作用,此外双向流也让消息传递变得非常方便。

gRPC是安全的,它支持TLS协议,它支持通过基于令牌的身份验证。可以通过通道进行调用,确保数据安全。

如何使用

谷歌提供了非常丰富详尽的文档,你可以找到你擅长的编程语言,然后通过简单的案例来开始学习。

你需要掌握的就是如何在proto文件中定义函数和消息体结构,然后通过运行grpc_tools,你就可以生成对应语言的RPC代码。

它的过程一般是下面这样的。

  • 定义服务service
  • 定义rpc方法,指定请求类型,返回类型
  • 生成服务器端代码,生成客户端代码
  • 创建服务器,创建客户端

总结

gRPC有着出色的效率,支持双向流,有着非常高的安全性,因此很多公司都开始采用gRPC作为远程调用的框架。

对于物联网,gRPC的出色性能将会发挥更大的作用。在万物互联的时代,你确定不学习一下gRPC吗?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序那些事儿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 诞生背景
  • gRPC的优点
  • 如何使用
  • 总结
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档