SpringBoot 集成gRPC高性能微服务框架

文章目录

  • 一、gRPC简介
  • 二、gRPC特点
  • 三、相关资源
    • 1. gRPC文档
    • 2. Github地址
    • 3. protobuf序列化协议
    • 4. 本教程源码
  • 四、功能实现
    • 1. 定义proto接口规范
      • 1.1 引入依赖
      • 1.2 添加生成protobuf插件
      • 1.3 定义.proto文件
      • 1.4 生成代码
    • 2. 创建 gRPC 服务器
      • 2.1 定义注解类,用于扫描 gRPC 相关接口服务
      • 2.2 定义添加 gRPC 服务组件
      • 2.3 实现 gRPC 服务
    • 3. 创建 gRPC 客户端
      • 3.1 定义接口的Stub实例
      • 3.2 客户端调用
  • 五、开箱即用 Starter 组件


一、gRPC简介

在 gRPC 里,客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得我们能够更容易地创建分布式应用和服务。

SpringBoot 集成gRPC高性能微服务框架_第1张图片

gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。

gRPC 主要提供了新增两种 RPC 调用方式:

  • 普通 RPC 调用方式,即请求 - 响应模式。
  • 基于 HTTP/2.0 的 streaming 调用方式。

gRPC 服务调用支持同步和异步方式,同时也支持普通的 RPC 和 streaming 模式,可以最大程度满足业务的需求。

streaming 模式,可以充分利用 HTTP/2.0 协议的多路复用功能,实现在一条 HTTP 链路上并行双向传输数据,有效的解决了 HTTP/1.X 的数据单向传输问题,在大幅减少 HTTP 连接的情况下,充分利用单条链路的性能,可以媲美传统的 RPC 私有长连接协议:更少的链路、更高的性能。

你可能感兴趣的:(Java,spring,boot,微服务,后端,gRPC)