美文网首页
4 grpc的原理

4 grpc的原理

作者: 轻舞凋零 | 来源:发表于2022-08-30 22:22 被阅读0次

1 rpc流

  • 客户端调用
  • sub构建消息
  • http2网络连接
  • 将消息传递给服务端骨架

2 pb编码消息

pb的编码方式:标签+值,标签+值 (字段索引决定位置)

标签:字段索引+线路类型

值编码:不同的类型采用不同的编码

  • int32使用varint编码 (intx)
  • 字符串使用utf8编码
  • 有符号整数 zigzag转为正数,再varint
  • 非varint类型,固定字节float fixed64
  • 基于长度分隔

3 基于长度前缀的消息分帧

大端格式

压缩标+消息长度+数据内容

grpc支3种传输方式

  • http2
  • Cronet
  • 进程内的in-process

4 基于http2 的grpc

http2的客户端和服务端的链接都通过一个tcp连接完成

重要术语

  • 流 (stream建立好的连接上的双向字节流)
  • 帧(frame, 最小单元。帧头,帧尾)
  • 消息(完整的帧序列:一个或多个帧祖册)

消息格式

  • 数据- 头信息-数据

请求消息

  • 请求头信息,长度为前缀的消息, EOS标记

响应消息

  • 响应投信息--长度为前缀的消息,trailer(携带状态码和请求的状态消息)

理解通信模式

  • 一元模式,消息最后添加EOS标记
  • 服务的流模式
    • 服务端发送多条消息
  • 客户端流模式
    • 客户端发送多条消息
  • 双写流模式
    • 都发送多条消息

5 grpc实现架构

核心层

  • 代码生成的api
  • grpc核心层
  • http/2
  • ssl

相关文章

  • 4 grpc的原理

    1 rpc流 客户端调用 sub构建消息 http2网络连接 将消息传递给服务端骨架 2 pb编码消息 pb的编码...

  • grpc和consul结合实现分布式rpc调用

    # GRPC > 主要介绍了grpc在使用示例和原理,以及如何与consul结合 ## gRPC 是什么? > g...

  • grpc原理

    RPC 框架原理 RPC 框架的目标就是让远程服务调用更加简单、透明,RPC 框架负责屏蔽底层的传输方式(TCP ...

  • Grpc原理

    1 rpc框架原理 rpc调用原理框架如图: 2 业内比较成熟的rpc框架 支持多语言的主要分为3类 -支持多语言...

  • GRPC 浅析

    原理: GRPC原理解析 IDL(proto buffer) + RPCnetty:异步/事件驱动的 网络应用程序...

  • iOS gRPC 初步探索

    下面让我来具体说说,gRPC的简单原理和使用方法,最重要的是踩过的坑 一、何为gRPC gRPC 是一个高性能、开...

  • 使用grpcui测试gRPC服务

    grpcui类似Swagger UI,可以用来测试gRPC服务,使用起来特别简单。 其原理是通过自动发现gRPC服...

  • Tensorflow-serving+Docker安装+模型部署

    1安装grpc相关依赖: 2 安装grpc 3安装 tensorflow-serving-api 4 安装tens...

  • grpc-源码-网络模型

    golang 的grpc库是 https://github.com/grpc/grpc-go grpc serve...

  • gRPC 4种rpc定义方法与3种stub介绍

    gRPC 有关gRPC官方介绍(https://www.grpc.io/docs/what-is-grpc/int...

网友评论

      本文标题:4 grpc的原理

      本文链接:https://www.haomeiwen.com/subject/avwknrtx.html