前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学习gRPC - 1.工作原理是什么

学习gRPC - 1.工作原理是什么

作者头像
叉叉敌
发布2021-12-06 15:12:09
5920
发布2021-12-06 15:12:09
举报
文章被收录于专栏:Chasays

什么是gRPC

gRPC 已经成为实现需要大规模快速运行的分布式软件系统的一项重要技术。简而言之,gRPC 是一个 API 框架,它允许一个程序在互联网上的一个位置传递数据到另一个位置的另一个程序中的独特函数进行处理。

其他 API 框架(如 REST)通常使用基于文本的格式(如 JSON 或 XML)在客户机和服务器之间传递数据,而在 gRPC 下,数据是以二进制格式在客户机和服务器端目标函数之间传递的。

有效载荷具有二进制特性,这也是它比其他方法更快的名声的来源之一。使用 gRPC 的程序可以以纳秒为单位执行,而不是使用基于文本的数据时通常使用的毫秒。

数据共享是起点。公司需要将数据从一台计算机转移到另一台计算机,以便以每个系统特有的方式处理信息。

RPC 背后的基本思想是,在一台机器上运行的过程(也称为函数)可以由网络上不同位置的其他机器共享。RPC 的好处是减少了系统冗余。当需要升级过程时,所有更改都发生在单个位置

为什么要gRPC

  • HTMLXML 一样是基于文本的。这些都是庞大的格式,因为它们需要开始和结束标签
  • JSON 是另一种流行的基于文本的数据格式,它甚至比 XML 更简洁,
  • gRPC 中,所有数据都以二进制格式传输。信息被序列化为一个紧凑的位集合,然后通过网络发送。然后,当位到达目标目的地时,它们被反序列化为文本。在 gRPC 中使用的二进制格式是协议缓冲。使用协议缓冲可以使数据快速传输,但是它也带来了成本,而这些成本是由于描述数据带来的开销而产生的。用空间换时间

gRPC 背后的基本概念。请注意,客户机和服务器通过 HTTP/2进行通信,信息可以作为单个请求/响应事件或连续流进行交换。

在 gRPC 模式中, .proto文件包含由服务器发布的函数签名。根据已发布的函数声明,客户机将使用此信息将消息传递给特定函数。定义的函数声明的示例如下 .proto文件中。 格式如下:

代码语言:javascript
复制
rpc Add (Request) returns (Response) {}
  • rpc 是一个保留的协议缓冲关键字,表示该函数是一个远程过程调用
  • Add 是函数的名称
  • (Request) 表示该函数有一个自定义消息类型的参数 Request
  • returns 是一个保留的协议缓冲关键字,表示函数返回类型的前缀
  • (Response)表示该函数将返回一个自定义消息类型,Response

关于 protobuf可以参考

关于协议缓冲编码的深入解释

需要了解哪些知识点

  • 如何使用协议缓冲文件将信息序列化和反序列化为二进制数据
  • 还需要熟悉处理流。流是gRPC的一个强大特性
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/02/06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是gRPC
  • 为什么要gRPC
  • 需要了解哪些知识点
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档