0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

IP知识百科之什么是gRPC

华为产品资料 来源:华为产品资料 作者:华为产品资料 2021-11-16 15:13 次阅读

gRPC

Google远程过程调用(Google Remote Procedure Call,gRPC)协议是谷歌发布的高性能、通用的开源RPC软件框架。gRPC提供了多种编程语言,同时gRPC也是对网络设备进行配置和管理的一种方法。

gRPC vs REST

REST(Representational State Transfer)表征状态转移,是一种软件架构风格,同样为管理和配置网络设备提供了一种API接口设计的方法。gRPC与REST两者的主要差异如下:

几乎所有的浏览器都支持RSET,而支持gRPC的浏览器非常有限。这是REST相对于gRPC的主要优势。

REST遵循基于HTTP 1.1的请求-响应通信模型,而gRPC遵循基于HTTP 2.0的客户端-响应通信模型。HTTP 2.0在速度上有着绝对的优势。

REST使用JSON或XML编码格式承载数据,而gRPC默认使用ProtoBuf编码格式承载数据。JSON或XML编码格式以文本形式传输,而ProtoBuf是以二进制数据进行传输,所以在传输速率上gRPC更具有优势。

REST不提供内置代码生成功能,需要使用Swagger等工具生成API请求代码。而gRPC具有protoc编译器,具有代码生成功能。

gRPC是如何工作的?

gRPC协议架构

gRPC是一种用于实现RPC API的技术。由于gRPC是开源框架,通信双方都基于该框架进行二次开发,无需关注由gRPC软件框架实现的底层通信。

gRPC支持的操作设备在网络架构里支持Dial-in和Dial-out两种对接模式。

Dial-in模式:设备作为gRPC服务器,采集器作为gRPC客户端。由采集器主动向设备发起gRPC连接并获取需要采集的数据信息或下发配置。适用于小规模网络。Dial-out模式:设备作为gRPC客户端,采集器作为gRPC服务器。设备主动和采集器建立gRPC连接,将设备上配置的订阅数据推送给采集器。适用于网络设备较多的情况下。

gRPC交互过程

gRPC采用客户端和服务器模型,以网络设备为gRPC客户端,采集器为gRPC服务器为例。设备主动和采集器建立gRPC连接,将设备上配置的订阅数据推送给采集器。在整个gRPC交互的过程中,设备和采集器都需要使用ProtoBuf来定义Proto文件。

gRPC的应用

gRPC支持通过Telemetry技术实现订阅功能(Subscribe操作)。Telemetry是一项远程从物理设备或虚拟设备上高速采集数据的技术。设备通过推模式(Push Mode)周期性地主动向采集器上送设备的接口流量统计、CPU和内存数据等信息。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IP
    IP
    +关注

    关注

    5

    文章

    1404

    浏览量

    148272
  • XML
    XML
    +关注

    关注

    0

    文章

    183

    浏览量

    32936
  • API
    API
    +关注

    关注

    2

    文章

    1382

    浏览量

    60989
  • 浏览器
    +关注

    关注

    1

    文章

    974

    浏览量

    34411
  • REST
    +关注

    关注

    0

    文章

    32

    浏览量

    9358

原文标题:IP知识百科之可编程网络系列:什么是gRPC

文章出处:【微信号:huaweidoc,微信公众号:华为产品资料】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    使用go语言实现一个grpc拦截器

    在开发grpc服务时,我们经常会遇到一些通用的需求,比如:日志、链路追踪、鉴权等。这些需求可以通过grpc拦截器来实现。本文使用go语言来实现一个 grpc一元模式(Unary)拦截器,上报链路追踪信息。
    的头像 发表于 12-18 10:13 240次阅读
    使用go语言实现一个<b class='flag-5'>grpc</b>拦截器

    电子学中的百科书-二极管的诞生计

    电子学中的百科书-二极管的诞生计
    的头像 发表于 11-23 09:09 162次阅读
    电子学中的<b class='flag-5'>百科</b>书-二极管的诞生计

    关于TCP/IP协议的知识总结

    今天浩道跟大家分享关于TCP/IP协议的硬核干货总结,我常常跟小伙伴说,一个简短硬核的知识总结,可以让大家快速掌握这些知识体系,喜欢的小伙伴可以收藏起来,随时查看复习!
    的头像 发表于 10-31 11:48 846次阅读
    关于TCP/<b class='flag-5'>IP</b>协议的<b class='flag-5'>知识</b>总结

    什么是gRPC

    相信大家对RPC协议都有一定的了解,并且或多或少都会在项目中涉及,但可能都和小编类似,都是直接使用平台封装的插件,对于其中的原理不是很了解,今天借此机会和大家分享下最近接触的RPC框架-grpc
    的头像 发表于 10-07 16:24 370次阅读

    GRPC的基础使用方法

    gRPC 是 Google 开源的高性能、通用的 RPC 框架,它采用了基于 HTTP/2 协议的二进制传输协议,支持多种语言,包括 Rust。Rust 语言 GRPC 模块是一个用于 Rust
    的头像 发表于 09-19 16:08 504次阅读

    楔形流量计-百科

    流量计
    嘉可自动化仪表
    发布于 :2023年06月24日 12:44:29

    投入式液位计投入式液位变送器-百科

    变送器
    嘉可自动化仪表
    发布于 :2023年06月21日 10:09:27

    图解IP地址网络知识

    今天浩道跟大家分享一篇关于网络通信的硬核干货,这也是每一个网络工程师进阶的必修课,图解IP地址网络知识
    的头像 发表于 06-20 09:43 554次阅读
    图解<b class='flag-5'>IP</b>地址网络<b class='flag-5'>知识</b>

    螺旋双转子流量计-百科

    流量计
    嘉可自动化仪表
    发布于 :2023年06月17日 14:36:00

    射频导纳开关料位计-百科

    射频导纳
    嘉可自动化仪表
    发布于 :2023年06月15日 12:35:50

    压力变送器-全球百科

    压力变送器
    嘉可自动化仪表
    发布于 :2023年06月09日 10:20:54

    雷达物位计-百科

    雷达物位计
    嘉可自动化仪表
    发布于 :2023年06月03日 09:47:24

    雷达料位计-百科

    雷达
    嘉可自动化仪表
    发布于 :2023年06月01日 10:56:53

    Video In to AXI4-Stream IP知识介绍

    大家好!今日分享一些关于Video In to AXI4-Stream IP 核的知识。在具体学习IP核的过程中,我也将分享一些关于如何看xilinx英文文档的技巧。
    的头像 发表于 05-18 14:55 1054次阅读
    Video In to AXI4-Stream <b class='flag-5'>IP</b>核<b class='flag-5'>知识</b>介绍

    古鱼、恐龙和大众,相逢在百度百科的“彩虹桥”

    百度百科与中科院古脊椎所的知识岛屿上,好奇心的海岸线在无限延长
    的头像 发表于 05-17 09:56 1373次阅读
    古鱼、恐龙和大众,相逢在百度<b class='flag-5'>百科</b>的“彩虹桥”