栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Dubbo入门到精通学习笔记-动力节点王鹤

Dubbo入门到精通学习笔记-动力节点王鹤

Dubbo学习笔记

这篇笔记的学习视频来自b站动力节点

https://space.bilibili.com/76542346/video

笔记中的源码下载地址

动力节点Dubbo资料

第一章 初识 Dubbo 1.1 架构

单体结构

垂直结构

分布式结构

流动计算结构

1.2 进程间通信

进程:一个进程就是一个应用。

进程间通信: 两个或更多的应用之间的调用。

实现进程间通信: 1) Servlet或Controller(1需要提供每个接口的url地址,2提供参数说明,3.参数不清楚类型(String)。4. http协议)

2) RPC (Remote Procedure Call) : 远程过程调用。实现分布式中的服务之间调用。

RPC是远程通信的一种技术, 不是规范。 也可以叫做RPC协议。通过PRC简化进程间通信。

3)RPC调用

client(消费者:要使用提供者功能(方法提供))

server(提供者,提供方法的执行实现)

client—stub助手(序列化/反序列化)—网络----stub助手(反序列化/序列化)—提供者方法的实现

4)PRC能做什么

PRC主要就是做分布式开发,实现远程调用, 调用远程的方法,就像调用自己的方法一样

1.3 Dubbo简介

Dubbo: 是一个RPC框架,实现远程调用。

三个主要功能:

    面向接口的远程调用;智能容错和负载均衡。服务注册和发现
第二章 Dubbo框架实现RPC 2.1 第一个服务提供者

使用直连方式,访问提供者。

    依赖:pom.xml
	
      org.apache.dubbo
      dubbo
      2.7.8
    

2 ) 创建一个数据类,表示订单的信息

Order: 有id, goodsName ,price , amount

3) 创建服务提供者接口 OrderService

Order createOrder(Integer userId, String goodsName, Float price, Integer amount)

4)暴露服务,使用dubbo框架的功能。

把服务暴露出去,消费者才能调用。 暴露的就是接口。

需要在spring的配置文件中声明暴露服务

   
    

    
    

    
    

    
    

5)把提供者安装到maven仓库中

maven install

2.2 第一个消费者

创建maven项目

1) pom.xml

加入dubbo依赖

    
    
      org.apache.dubbo
      dubbo
      2.7.8
    

    
    
      com.bjpowernode
      01-orderservce-provider
      1.0.0
    

2)声明要使用的dubbo服务提供者。 说明要使用的接口

在spring的配置文件者, 声明要使用的接口

2.3 Dubbo常用标签

1) 公用标签:在提供者和消费者中都使用的。



  

2)提供者标签


3)消费者标签


2.4 Dubbo注解

@EnableDubbo , @EnableDubboConfig , @DubboComponentScan,
@DubboService,@DubboReference

@DubboService

@DubboService ==  暴露服务的
    属性:interface:接口的.class
    位置:放在接口的实现类的上面

@DubboReference

@DubboReference ==  引用远程服务
    位置:可以放在属性(成员变量)定义上面,可以方法上面

Dubbo组件扫描器:扫描的是Dubbo的注解(@DubboService,@DubboReference)


第三章 注册中心 3.1 注册中心作用

1) 服务管理, 发现服务,注册服务

2) 实现故障处理

3)实现消费者和提供者的解耦合。

3.2 注册中心

Nacos 注册中心
Zookeeper 注册中心(推荐)

3.3 Zookeeper

地址:https://zookeeper.apache.org , 下载zookeeper安装文件

需求: 使用zookeeper ,先有java环境。

安装zookeeper

    解压缩 apache-zookeeper-3.5.5-bin.tar.gz

    修改zookeeper配置文件. zookeeper安装目录/conf/zoo_sample.cfg

    拷贝zoo_sample.cfg ,改名为 zoo.cfg

    修改zoo.cfg文件的内容

dataDir=目录,自定义目录,保存zookeeper收到的数据。 目录不要有空格,中文

admin.serverPort=自定义的端口号, 默认是8080, 改为 8888

    clientPort=2181 : dubbo程序访问zookeeper的默认端口号 ,可以修改。
运行zookeeper

进入到zookeeper安装目录/bin.

zkServer.cmd: 服务端程序

zkCli.cmd 客户端程序

3.4 dubbo项目者使用Zookeeper

1 ) 在提供者和消费者中都需要使用 zookeeper client 。 使用client 是zookeeper数据交换


    org.apache.curator
    curator-framework
    4.0.1



    org.apache.curator
    curator-recipes
    4.0.1

    提供和消费者的配置文件者,提供zookeeper的地址信息

访问zookeeper:

1)可以zkCli.cmd 客户端程序, 使用 ls 目录

2) 使用图形界面工具。 ZooInspector.zip

​ java -jar zookeeper-dev-ZooInspector.jar

3.5 使用Nacos

地址:https://nacos.io

下载地址: https://github.com/alibaba/nacos/releases

3.6 使用Nacos的提供者。

1)nacos依赖


    org.apache.dubbo
    dubbo-registry-nacos
    2.7.8



    com.alibaba.nacos
    nacos-client
    1.3.1



    com.alibaba.spring
    spring-context-support
    1.0.8


    io.netty
    netty-all
    4.1.54.Final



     org.apache.dubbo
    dubbo
    2.7.8

2)在配置文件中,声明nacos注册中心


第四章 匹配服务

默认使用接口名称作为服务匹配,找到服务提供者。

dubbo使用接口, version, group 三个值唯一匹配服务。 当没有version或者group使用接口名称作为唯一匹配条件

version:表示版本

group:分组

使用version,group区分接口的不同实现。

4.1 version

version:版本。 可以用来区分同一个接口的不同实现。 消费者和提供者必须使用相同的版本,否则调用失败。

提供者

dubbo使用: xxxx.SomeService:1.0 表示这个唯一的服务提供者

消费者:

dubbo调用: xxxx.SomeService:1.0 调用对于的提供者
4.2 group

使用group区分服务的不同实现,接口的不同使用。 消费者和提供者要匹配group名称。

提供者:






消费者:使用指定组

 

 使用任意组
 
4.3 Dubbo中的Filter

使用自定义Filter步骤:

    创建类实现org.apache.dubbo.rpc.Filter接口, 实现invoke()

    配置自定义Filter。

    1)在 resources 下创建 meta-INF/dubbo 目录

    2)创建文本文件,名称org.apache.dubbo.rpc.Filter

    3)在文件中,说明自定义的Filter类信息

    ​ 自定义过滤器对象名称=自定义过滤器类的全限定名称

    指定提供者使用某个Filter对象

    
    

    消费者调用提供者, 先执行filter

第五章: 管理控制台(Dubbo Admin) 5.1 简介

管理控制台:就是一个web应用, 是dubbo服务的管理程序。 配置提供者,消费者的一些参数, 提供访问控制的处理。

管理控制台:是dubbo项目组写好的程序。 我们需要编译安装这个程序就可以。 前端使用的vue框架,后端是SpringBoot。

5.2 下载管理控制台源代码

下载源代码

https://github.com/apache/dubbo-admin

使用步骤:

    下载代码: git clone https://github.com/apache/dubbo-admin.git

    在 dubbo-admin-server/src/main/resources/application.properties中指定注册中心地址

    构建

    mvn clean package

    启动cd dubbo-admin-distribution/target; java -jar dubbo-admin-0.1.jar

管理控制台(Dubbo Admin)

5.1 简介

管理控制台:就是一个web应用, 是dubbo服务的管理程序。 配置提供者,消费者的一些参数, 提供访问控制的处理。

管理控制台:是dubbo项目组写好的程序。 我们需要编译安装这个程序就可以。 前端使用的vue框架,后端是SpringBoot。

5.2 下载管理控制台源代码

下载源代码

https://github.com/apache/dubbo-admin

使用步骤:

    下载代码: git clone https://github.com/apache/dubbo-admin.git

    在 dubbo-admin-server/src/main/resources/application.properties中指定注册中心地址

    构建

    mvn clean package

    启动cd dubbo-admin-distribution/target; java -jar dubbo-admin-0.1.jar

    访问 http://localhost:8080`

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/707301.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号