Dubbo3应用开发—Dubbo直连开发相关概念:通信、协议、序列化

Dubbo RPC直连应用的概念

所谓的Dubbo RPC直连应用,指的就是Consumer直接访问Provider,而无需注册中心的接入。

Dubbo完成的仅仅是RPC最基本的功能。

从这个角度DubboRPC直连等价于SpringCloud体系中的OpenFeign。

RPC直连设计的核心概念

  1. Provider 服务的提供者
  2. Consumer 服务的调用者
  3. 网络通信

网络通信内容的细化

dubbo直连操作流程图:

这里设计三个内容:

  1. 协议:网络传输过程中,调用者和被调用者传输数据的一种格式约定;

    分为

    • 应用层协议:主流的有:Http1.x和Http2.x

    • 传输层协议:私有协议,自己根据自己要求定制的协议

    dubbo:既支持 私有协议,比如dubbo协议、triple协议;也支持公有协议,比如http1.x,http2.x

  2. 通信方式:consumer如何与provider进行网络交互,

    传输层通信方式:BIO、NIO、Netty、Mina....

    Dubboo内置的默认通信方式:Netty4

    markdown 复制代码
    添加mina相关依赖后,可以更换协议
    <dubbo:protocol name="dubbo" port="20880" transporter="mina"/>
    
    应用层通信方式:Tomcat、Resin、Jetty
  3. 序列化:

    制定数据传输格式;

    同一个原始数据,好的序列化方案,传输数据体量会小

    markdown 复制代码
    默认序列化方案是hassion
    <dubbo:protocol name="dubbo" port="20880" transporter="mina" serialization="hassion"/>
    可以通过serialization来替换相应序列化方式。
相关推荐
泉-java11 分钟前
第56条:为所有导出的API元素编写文档注释 《Effective Java》
java·开发语言
zfoo-framework38 分钟前
帧同步和状态同步
java
charlotte1024102441 分钟前
高并发:关于在等待学校教务系统选课时的碎碎念
java·运维·网络
亓才孓1 小时前
[JDBC]PreparedStatement替代Statement
java·数据库
_F_y1 小时前
C++重点知识总结
java·jvm·c++
打工的小王1 小时前
Spring Boot(三)Spring Boot整合SpringMVC
java·spring boot·后端
毕设源码-赖学姐1 小时前
【开题答辩全过程】以 高校体育场馆管理系统为例,包含答辩的问题和答案
java·spring boot
我真会写代码1 小时前
SSM(指南一)---Maven项目管理从入门到精通|高质量实操指南
java·spring·tomcat·maven·ssm
vx_Biye_Design1 小时前
【关注可免费领取源码】房屋出租系统的设计与实现--毕设附源码40805
java·spring boot·spring·spring cloud·servlet·eclipse·课程设计
DN金猿1 小时前
接口路径正确,请求接口却提示404
java·tomcat