Dubbo框架介绍和入门程序

本文介绍了RPC的基本概念,以及工作流程。接着详细阐述了Dubbo框架,它是阿里巴巴的分布式服务框架,支持高性能的RPC调用、集群容错和自动发现。在文章的最后,通过创建web01和web02两个模块,展示了如何搭建一个简单的Dubbo服务提供者和消费者,涉及pom.xml配置、dubbo配置文件以及服务接口和实现。
摘要由CSDN通过智能技术生成

Dubbo框架介绍和入门程序

RPC介绍

Remote Process Callable 表示远程调用的意思
两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法

  • 工作流程
    》1、 A连接B,主要是通过在客户端和服务器之间建立TCP连接
    》2、 A查找B上的方法 ,A调用RPC框架,需要B服务器(如主机或IP地址)以及特定的端口,方法的名称
    》3、 A 传参-序列化:方法的参数需要通过底层的网络协议如TCP传递到B服务器,通过寻址和传输将序列化的二进制发送给B服务器
    》4、 B 参数-反序列化(序列化的逆操作),恢复为内存中的表达方式,然后找到对应的方法(寻址的一部分)进行本地调用,然后得到返回值
    》5、 B 将返回值 序列化写到A,A再返序列化得到结果
    在这里插入图片描述

Dubbo框架介绍

Dubbo是一个分布式服务框架,以及阿里巴巴内部的SOA服务化治理方案的核心框架。其功能主要包括:高性能NIO通讯及多协议集成,服务动态寻址与路由,软负载均衡与容错,依赖分析与降级等,Dubbo是一款高性能、轻量级的开源Java RPC框架

  • 可通过高性能的 RPC (远程调用)实现服务的输出和输入功能,可以和Spring框架无缝集成

  • 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。

  • 集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。

  • 自动发现: 基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。

  • Dubbo原理
    在这里插入图片描述
    消费者与提供者都要去注册,因为消费者是通过注册中心找到提供者
    消费者通过RPC调用提供者
    监控中心可以监控,有哪些提供者与消费者

Dubbo框架入门程序

使用IDEA创建一个工程,在工程下创建两个webapp模块

web01 模拟服务提供者

  • pom.xml
  <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <spring.version>5.2.9.RELEASE</spring.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jms</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值