Dubbo学习笔记

快速入门

将service服务方改造成dubbo

  1. service层的@Service注释从springframe的变成dubbode
  2. 在applicationContext.xml中进行配置dubbo和zookeeper
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
       xsi:schemaLocation="
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
	">
    
<!--    配置dubbo-->
<!--    配置项目的名称,必须唯一-->
    <dubbo:application name="dubbo-service"/>
<!--    配置注册中心的地址-->
    <dubbo:registry address="zookeeper://192.1.3.81:2181"/>
<!--    配置dubbo包扫描-->
    <dubbo:annotation package="com.itheima.service.Impl"/>

</beans>
  1. 导入web文件

对web层进行改造

  1. 编写一个共同接口类来处理service层
  2. 通过@reference进行远程注入
  /*
    @Reference有三个作用:
    1.从zookeeper注册中心去获取url
    2.进行远程调用RPC
    3.将结果封装为一个远程的代理对象,给变量赋值
     */

    @Reference //通过dubbo进行远程注入
    private UserService userService;

高级特性

dubbo-admin管理平台

自己百度

序列化

在这里插入图片描述
dubbo将序列化和反序列化发封装了
我们只需要在定义破击类时实现SerialLizable接口即可
一般会定义一个公共的pojo模块,让生产者和消费者都依赖该模块

地址缓存

注册中心挂了,服务是否可以正常访问?

  1. 可以,因为dubbo服务消费者在第一次调用时,会将服务提供方地址缓存到本地,以后在调用则不会访问注册中心
  2. 当服务提供者地址发生变化时,注册中心会通知服务消费者,更新地址缓存

超时与重试

在这里插入图片描述

  1. 消费者在地哦啊哦用时候发生了阻塞,等待的情形,这个时候服务消费者就会一直等待下去
  2. 在某个峰值的时候,大量的请求都在同事请求服务消费者,会造成先县城的大量堆积,势必会造成雪崩
  3. dubbo利用超时机制来解决这个问题,设置一个超时时间,在这个时间段内,无法完成服务访问,则自动断开连接。
    在这里插入图片描述
    在这里插入图片描述

多版本

在这里插入图片描述

负载均衡

负载均衡策略
在这里插入图片描述

Random:按权重随机,默认值,按权重设置随机概率。
RoundRobin:按权重轮询
LeastActive:最少活跃调用数,相同活跃数的随机
ConsistentHash:一致性Hash,相同参数的请求总是发送到同一个机器

集群容错

在这里插入图片描述
集群仍需哦模式:
Faliure Cluster:失败重试。

服务降级

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值