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

Dubbo,概念,通信,协议 · 浏览次数 : 6

小编点评

**Dubbo RPC直连应用的概念** Dubbo RPC直连应用是指Consumer直接访问Provider,而无需注册中心的接入。Dubbo完成的仅仅是RPC最基本的功能。从这个角度DubboRPC直连等价于SpringCloud体系中的OpenFeign。 **RPC直连设计的核心概念** * Provider 服务的提供者Consumer 服务的调用者网络通信网络通信内容的细化dubbo直连操作流程图。 **协议** * 网络传输过程中,调用者和被调用者传输数据的一种格式约定。 **应用层协议** *主流的有:Http1.x和Http2.x传输层协议: * 私有协议,比如dubbo协议、triple协议。 * 公有协议,比如http1.x,http2.x通信方式。 **通信方式** *消费者如何与provider进行网络交互,传输层通信方式:BIO、NIO、Netty、Mina。 **默认通信方式** Dubbo内置的默认通信方式:Netty4添加mina相关依赖后,可以更换协议 **其他** * 同一个原始数据,好的序列化方案,传输数据体量会小默认序列化方案是hassion

正文

Dubbo RPC直连应用的概念

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

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

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

RPC直连设计的核心概念

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

网络通信内容的细化

dubbo直连操作流程图:

dubbo直连操作

这里设计三个内容:

直连方式内容细化

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

    分为

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

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

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

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

    传输层通信方式:BIO、NIO、Netty、Mina....
    Dubboo内置的默认通信方式:Netty4

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

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

    默认序列化方案是hassion
    <dubbo:protocol name="dubbo" port="20880" transporter="mina" serialization="hassion"/>
    可以通过serialization来替换相应序列化方式。
    

图示

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

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

本文介绍了Dubbo3直连应用相关概念,包括通信、协议、序列化等内容。通过这些概念的讲解,可以更好的理解Dubbo3直连应用的开发。

Dubbo3应用开发—Dubbo序列化方案(Kryo、FST、FASTJSON2、ProtoBuf序列化方案的介绍和使用)

Dubbo序列化方案(Kryo、FST、FASTJSON2、ProtoBuf序列化方案的介绍和使用) 序列化简介 序列化是Dubbo在RPC中非常重要的一个组成部分,其核心作用就是把网络传输中的数据,按照特定的格式进行传输。减小数据的体积,从而提高传输效率。 Dubbo制定了Serializatio

Dubbo3应用开发—Dubbo注册中心引言

Dubbo注册中心引言 什么是Dubbo注册中心 Dubbo的注册中心,是Dubbo服务治理的⼀个重要的概念,他主要用于 RPC服务集群实例的管理。 注册中心的运行流程 使用注册中心的好处 可以有效的管理RPC集群的健康情况,动态的上线或者下线服务。让我们的服务更加高可用。 Provider与Con

Dubbo3应用开发—Dubbo服务管理平台DubboAdmin介绍、安装、测试

Dubbo服务管理平台 DubboAdmin的介绍 Dubbo Admin是Apache Dubbo服务治理和管理系统的一部分。 Dubbo Admin提供了一套用于服务治理的Web界面,让我们可以更方便地对Dubbo系统进行管理和监控。新版本的Dubbo Admin是基于VUE、SpringBoo

Dubbo3应用开发—协议(Dubbo协议、REST协议 、gRPC协议、Triple协议)

协议 协议简介 什么是协议 Client(Consumer端)与Server(Provider端)在传输数据时双方的约定。 Dubbo3中常见的协议 1.dubbo协议[前面文章中使用的都是dubbo协议] 2.rest协议 3.triple协议 4.grpc协议 5.thirft协议 6.webs

Dubbo3应用开发—XML形式的Dubbo应用开发和SpringBoot整合Dubbo开发

Dubbo3程序的初步开发 Dubbo3升级的核心内容 易⽤性 开箱即⽤,易⽤性⾼,如 Java 版本的⾯向接⼝代理特性能实现本地透明调⽤功能丰富,基于原⽣库或轻量扩展即可实现绝⼤多数的 微服务治理能⼒。更加完善了多语言支持(GO PYTHON RUST) 超⼤规模微服务实践 ⾼性能通信(Tripl

Dubbo3应用开发——架构的演变过程

Dubbo3应用开发——架构的演变过程 什么是Dubbo 早期Dubbo的定位; 基于Java的高性能,轻量级的RPC框架;SOA【Service-Oriented Architecture ⾯向服务的架构】 = RPC+服务治理; 2018年阿⾥巴巴把这个框架捐献给了 Apache 基⾦会,正式更

Dubbo3应用开发—Dubbo3注册中心(zookeeper、nacos、consul)的使用

Dubbo3注册中心的使用 zookeeper注册中心的使用 依赖引入 org.apache.dubbo dubbo-dependencies-zookeeper-curator5

Dubbo架构设计与源码解析(一) 架构设计

作者:黄金 一、架构演变 单应用架构 > 垂直架构 > 分布式架构 > 微服务架构 > 云原生架构   二、Dubbo总体架构   1、角色职能 • Container:服务容器 (tomcat、jetty、weblogic) • Provider:服务提供者 •Consumer:服务消

Dubbo源码浅析(一)—RPC框架与Dubbo

RPC,Remote Procedure Call 即远程过程调用,与之相对的是本地服务调用,即LPC(Local Procedure Call)。本地服务调用比较常用,像我们应用内部程序(注意此处是程序而不是方法,程序包含方法)互相调用即为本地过程调用,而远程过程调用是指在本地调取远程过程进行使用...