所谓的Dubbo RPC直连应用,指的就是Consumer直接访问Provider,而无需注册中心的接入。
Dubbo完成的仅仅是RPC最基本的功能。
从这个角度DubboRPC直连等价于SpringCloud体系中的OpenFeign。
dubbo直连操作流程图:
这里设计三个内容:
协议:网络传输过程中,调用者和被调用者传输数据的一种格式约定;
分为
应用层协议:主流的有:Http1.x和Http2.x
传输层协议:私有协议,自己根据自己要求定制的协议
dubbo:既支持 私有协议,比如dubbo协议、triple协议;也支持公有协议,比如http1.x,http2.x
通信方式:consumer如何与provider进行网络交互,
传输层通信方式:BIO、NIO、Netty、Mina....
Dubboo内置的默认通信方式:Netty4
添加mina相关依赖后,可以更换协议
<dubbo:protocol name="dubbo" port="20880" transporter="mina"/>
应用层通信方式:Tomcat、Resin、Jetty
序列化:
制定数据传输格式;
同一个原始数据,好的序列化方案,传输数据体量会小
默认序列化方案是hassion
<dubbo:protocol name="dubbo" port="20880" transporter="mina" serialization="hassion"/>
可以通过serialization来替换相应序列化方式。
本文介绍了Dubbo3直连应用相关概念,包括通信、协议、序列化等内容。通过这些概念的讲解,可以更好的理解Dubbo3直连应用的开发。
Dubbo3注册中心的使用 zookeeper注册中心的使用 依赖引入 org.apache.dubbo dubbo-dependencies-zookeeper-curator5