gRPC 协议

功能描述

Dubbo 从 2.7.5 版本开始支持 gRPC 协议。对于计划使用 HTTP/2 通信,或者希望利用 gRPC 带来的流、背压和响应式编程能力的开发者,可以考虑启用 gRPC 协议。

支持 gRPC 的好处

  • 为希望使用 gRPC 协议的用户带来服务治理能力,方便接入 Dubbo 体系
  • 用户可以使用 Dubbo 风格的、基于接口的编程风格来定义和使用远程服务

使用场景

  • 需要立即响应以继续处理的同步后端微服务到微服务通信。
  • 需要支持混合编程平台的多语言环境。
  • 对性能至关重要的低延迟和高吞吐量通信。
  • 点对点实时通信 - gRPC 实时推送消息,无需轮询,并且对双向流有很好的支持。
  • 网络受限环境 - 二进制 gRPC 消息总是比等效的基于文本的 JSON 消息小。

如何使用

在 Dubbo 中使用 gRPC

示例

步骤

  1. 使用 IDL 定义服务
  2. 配置编译器插件,本地预编译
  3. 配置暴露/引用 Dubbo 服务

除了原生的 StreamObserver 接口类型外,Dubbo 还支持 RxJavaReactor 编程风格的 API。


上次修改时间:2023 年 12 月 15 日:更新断开的链接 (7b8d601e9f8)