Dubbo应用开发之RPC直连开发
Dubbo应用开发之RPC直连开发
Dubbo RPC直连应⽤的概念
所谓的Dubbo RPC直连应⽤,指的就是Consumer直接访问Provider,⽽⽆需注册中⼼的接⼊。Dubbo完成的仅仅是RPC最基本的功能。从这个⻆度DubboRPC直连等价于SpringCloud体系中的OpenFeign,⽬前我们学习的Dubbo都是直连访问。
RPC直连设计的核⼼概念
一共分为三部分
1. Provider 服务的提供者
2. Consumer 服务的访问者
3. ⽹络通信
下面主要来说一下关于网络通信这一方面
⽹络通信内容的细化
1. 协议 :consumer与provider在传输数据时双⽅的约定。
2. 通信⽅式 :consumer如何与provider进⾏⽹络交互。
3. 序列化 :数据的传输⼀种格式。
协议
网络传输过程中传输数据的一种约定,在于调用者和被调用者之间.如我们常见的应用层协议就有HTTP1.X,HTTP2.X,然后就是我们刚接触的传输层协议也是私有协议 dubbo
服务器通信方式
传输层的通信方式有:NIO,BIO,Netty,Mina等,Dubbo中内置的默认通信方式就是Netty4.应用层的通信方式有常见的:Tomcat,Resin,Jetty等,我们可以通过配置对dubbo中的通信方式进行修改,如下
xml配置:
<dubbo:protocol name="dubbo" port="28080" transporter="mina"/>
transporter属性就是可以指定通信方式,默认为Netty4
springboot配置
dubbo:protocol:name: dubboport: -1transporter: mina
序列化
数据传输的方式,好的序列化技术方案传输的数据体量小速度快,不好的自然就很慢.比如Dubbo的服务调用就比openFegin要快,openFegin就比HTTP要快.我们也可以指定Dubbo的序列化进行配置
xml配置:
<dubbo:protocol name="dubbo" port="28080" transporter="mina" serialization="hassina"/>
transporter属性就是可以指定通信方式,默认为Netty4
springboot配置
dubbo:protocol:name: dubboport: -1transporter:minaserialization: hassina
