五、 gRPC协议
Dubbo自3.0版本开始支持gRPC协议,对于计划使用HTTP/2通信,或者想利用gRPC带来的Stream、反压、Reactive编程等能力的开发者来说,都可以考虑启用gRPC协议。
1. 支持gRPC的好处
• 为期望使用gRPC协议的用户带来服务治理能力,方便接入Dubbo体系。
• 用户可以使用Dubbo风格的,基于接口的编程风格来定义和使用远程服务。
2. 使用场景
• 需要立即响应才能继续处理的同步后端微服务到微服务通信。
• 需要支持混合编程平台的Polyglot环境。
• 性能至关重要的低延迟和高吞吐量通信。
• 点到点实时通-gRPC 无需轮询即可实时推送消息,并且能对双向流式处理提供出色的支持。
• 网络受约束环境-二进制gRPC消息始终小于等效的基于文本的JSON消息。
3. 使用方式
1) 在Dubbo中使用gRPC
2) 步骤
• 使用IDL定义服务
• 配置compiler插件,本地预编译
• 配置暴露/引用Dubbo服务
注:
除了原生StreamObserver接口类型之外,Dubbo还支持Reactive编程风格的API。