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
相关推荐
fqbqrr6 小时前
2510C++,rest_rpc
c++·rpc
吐泡泡_7 小时前
TCP(滑动窗口/拥塞窗口补充)
网络协议
游戏开发爱好者812 小时前
HTTPS 内容抓取实战 能抓到什么、怎么抓、不可解密时如何定位(面向开发与 iOS 真机排查)
android·网络协议·ios·小程序·https·uni-app·iphone
Fms_Sa16 小时前
UDP的一次双向通信
网络·网络协议·udp
keer_zu18 小时前
一个Modbus-TCP传感器数据传输方案
网络·网络协议·tcp/ip
代码哈士奇1 天前
使用仓颉开发一个简单的http服务
网络·网络协议·http·仓颉
云心雨禅1 天前
DNS工作原理:从域名到IP
运维·前端·网络协议·tcp/ip·github
poemyang1 天前
jemalloc思想的极致演绎:深度解构Netty内存池的精妙设计与实现
rpc·netty
それども1 天前
HTTP 三次握手最终状态变更的时机
网络·网络协议·http