Dubbo应用开发之RPC直连开发

Dubbo应用开发之RPC直连开发

Dubbo RPC直连应⽤的概念

所谓的Dubbo RPC直连应⽤,指的就是Consumer直接访问Provider,⽽⽆需注册中⼼的接⼊。Dubbo完成的仅仅是RPC最基本的功能。从这个⻆度DubboRPC直连等价于SpringCloud体系中的OpenFeign,⽬前我们学习的Dubbo都是直连访问。

RPC直连设计的核⼼概念

一共分为三部分

txt 复制代码
1. Provider 服务的提供者
2. Consumer 服务的访问者
3. ⽹络通信

下面主要来说一下关于网络通信这一方面

⽹络通信内容的细化

txt 复制代码
1. 协议 :consumer与provider在传输数据时双⽅的约定。
2. 通信⽅式 :consumer如何与provider进⾏⽹络交互。
3. 序列化 :数据的传输⼀种格式。

协议

网络传输过程中传输数据的一种约定,在于调用者和被调用者之间.如我们常见的应用层协议就有HTTP1.X,HTTP2.X,然后就是我们刚接触的传输层协议也是私有协议 dubbo

服务器通信方式

传输层的通信方式有:NIO,BIO,Netty,Mina等,Dubbo中内置的默认通信方式就是Netty4.应用层的通信方式有常见的:Tomcat,Resin,Jetty等,我们可以通过配置对dubbo中的通信方式进行修改,如下

xml配置:

xml 复制代码
   <dubbo:protocol name="dubbo" port="28080" transporter="mina"/>

transporter属性就是可以指定通信方式,默认为Netty4

springboot配置

yml 复制代码
dubbo:
  protocol:
    name: dubbo
    port: -1
    transporter: mina

序列化

数据传输的方式,好的序列化技术方案传输的数据体量小速度快,不好的自然就很慢.比如Dubbo的服务调用就比openFegin要快,openFegin就比HTTP要快.我们也可以指定Dubbo的序列化进行配置

xml配置:

xml 复制代码
    <dubbo:protocol name="dubbo" port="28080" transporter="mina" serialization="hassina"/>

transporter属性就是可以指定通信方式,默认为Netty4

springboot配置

yml 复制代码
dubbo:
  protocol:
    name: dubbo
    port: -1
    transporter:mina
    serialization: hassina
相关推荐
clamlss2 小时前
💥 踩坑实录:Dubbo 为什么把我的自定义异常“吃”了?
dubbo
YuMiao1 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
Jony_4 天前
高可用移动网络连接
网络协议
chilix4 天前
Linux 跨网段路由转发配置
网络协议
gihigo19986 天前
基于TCP协议实现视频采集与通信
网络协议·tcp/ip·音视频
白太岁6 天前
通信:(5) 电路交换、报文交换与分组交换
运维·服务器·网络·网络协议
EasyGBS6 天前
国标安全升级:GB28181平台EasyGBS支持GB35114协议的应用场景与核心优势
网络协议·安全·gb28181·gb35114
凯酱6 天前
Windows防火墙入站规则IP白名单
windows·网络协议·tcp/ip
稻草猫.6 天前
TCP与UDP:传输层协议深度解析
笔记·后端·网络协议
科技块儿6 天前
如何用离线库秒筛“数据中心”IP段并自动封号?
网络·网络协议·tcp/ip