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
相关推荐
Cher ~3 小时前
【协议】ICMP
网络·网络协议
丁丁丁梦涛4 小时前
EMQX配置 ssl 和 wss
网络·网络协议·ssl·emqx·wss
繁华似锦respect4 小时前
C++ unordered_map 底层实现与详细使用指南
linux·开发语言·c++·网络协议·设计模式·哈希算法·散列表
Wokoo75 小时前
HTTP不同版本核心对比
网络·网络协议·tcp/ip·http·udp·ssl
乾元6 小时前
AI + Jinja2/Ansible:从自然语义到可执行 Playbook 的完整流水线(工程级深度)
运维·网络·人工智能·网络协议·华为·自动化·ansible
ZhengEnCi6 小时前
一次多线程同步问题的排查:从 thread_count 到 thread.join() 的踩坑之旅
python·网络协议·tcp/ip
oxygen-12046 小时前
https nginx步骤
网络协议·http·https
路由侠内网穿透.7 小时前
本地部署问答社区 Apache Anwser 并实现外部访问
服务器·windows·网络协议·apache·远程工作
科技块儿7 小时前
简单易学的IP定位查找教程
网络·网络协议·tcp/ip
通往曙光的路上9 小时前
WebSocket
网络·websocket·网络协议