dubbo3-高级特性

dubbo-admin

1.dubbo-admin管理平台,是图形化的管理页面
2.从注册中心中获取所有的提供者/消费者进行配置管理
3.路由规则,动态配置,服务降级,访问控制,权重调整,负载均衡等管理功能

dubbo-admin是一个前后端分离的项目,前端使用vue,后端使用springboot

spring-admin的下载,dubbo-admin

我们将dubbo-admin安装到开发环境上。要保证开发环境有jdk,maven,nodejs node.js

dubbo-admin的使用

1.下载dubbo-admin安装包
2.将安装包解压到自定义文件夹
3.解压后我们进入…\dubbo-admin-develop\dubbo-admin-server\src\main\resources目录,找到 application.properties 配置文件 进行配置修改,修改注册中心zookeeper的地址

admin.registry.address=zookeeper://192.168.149.135:2181 //注册中心 admin.config-center=zookeeper://192.168.149.135:2181 //配置中心 admin.metadata-report.address=zookeeper://192.168.149.135:2181 //元数据中心

4.打包项目,

在 dubbo-admin-develop 目录执行打包命令
//shift+鼠标右键,选择用powershell窗口打开
mvn  clean package

5.切换到目录

dubbo-Admin-develop\dubbo-admin-distribution\target

执行下面的命令启动 dubbo-admin,dubbo-admin后台由SpringBoot构建。

powershellc窗口打开
java -jar .\dubbo-admin-0.1.jar

dubbo-admin-ui 目录下执行命令

npm run dev

7.访问

浏览器输入。用户名密码都是root

http://localhost:8081/

在启动项目的时候,需要确保注册中心zookeeper在后台运行

序列化

在两台机器上传输数据、java对象,会使用到序列化
dubbo3-高级特性_第1张图片
序列化:以数据流的形式传输数据对象,生产者序列化,消费者反序列化,两者都必须依赖公共模块class user的maven坐标。实现序列化,只需在公共模块实体类implements Serializable

地址缓存

注册中心挂了,注册过的服务可以访问,新的服务或者更改了注册信息的服务不能被访问

超时与重试

服务消费者在调用提供者的时候,调用失败,发生了阻塞、等待的情形,服务消费者会一直等待,如果大量的请求失败,会导致线程堆积,造成雪崩,所以dubbo利用超时机制,规定时间内未连接上服务,则自动断开

设置超时时间,可以设置在服务方的@Service(timeout=3000)中,也可以设置在消费者的@Reference中(timeout=3000),根据服务方调用的时长设置在服务方最好,默认1000毫秒

重试:解决网络抖动,网络突然断开,重新连接@Service(retries=3)中,也可以设置在消费者的@Reference中(retries=3),默认重试是两次

多版本

灰度发布:当出现新功能的时候,会让一部分用户先使用新功能,用户反馈没问题时,再让所有的用户迁移到新功能
在dubbo中使用version属性来设置和调用一个接口的不同版本,服务者中定义版本,消费者中选择版本

负载均衡

dubbo3-高级特性_第2张图片
在消费端添加@Reference(loadbalance="负载策略")

服务降级

当服务器资源不够用,可能引发雪崩时,关停不重要的服务
dubbo3-高级特性_第3张图片
服务降级方式:
mock=force:return null表示消费方对该服务的方法调用直接返回null值,不在发起远程调用

mock=fail:return null表示消费方对该服务的方法调用失败,再返回null值
写在消费者端
在这里插入图片描述

集群容错

你可能感兴趣的:(dubbo,dubbo)