dubbo3-高级特性

news2024/11/25 0:51:42

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对象,会使用到序列化
在这里插入图片描述
序列化:以数据流的形式传输数据对象,生产者序列化,消费者反序列化,两者都必须依赖公共模块class user的maven坐标。实现序列化,只需在公共模块实体类implements Serializable

地址缓存

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

超时与重试

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

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

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

多版本

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

负载均衡

在这里插入图片描述
在消费端添加@Reference(loadbalance="负载策略")

服务降级

当服务器资源不够用,可能引发雪崩时,关停不重要的服务
在这里插入图片描述
服务降级方式:
mock=force:return null表示消费方对该服务的方法调用直接返回null值,不在发起远程调用

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

集群容错

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/874634.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文读懂!一年耗能堪比2个三峡电站的大数据中心,背后竟隐藏着这些秘密......

全国大数据中心1年的能耗规模相当于2个三峡电站一整年的发电量,这是为什么? 大数据中心每耗费1度电,只有一半用在了“计算”上面,其他的都应用在散热、照明等方面到底是怎么回事? 为什么说在算力上每投入1元&#xff0…

【CI/CD】基于 Jenkins+Docker+Git 的简单 CI 流程实践(下)

基于 JenkinsDockerGit 的简单 CI 流程实践(下) 5.环境测试 5.1 远程 clone 代码测试 clone 云主机 docker-git 上的仓库 tomcat-java-demo.git: [rootdocker-jenkins ~]# yum install git vim wget -y [rootdocker-jenkins ~]# git confi…

【数据结构】-- 栈和队列

🐇 🔥博客主页: 云曦 📋系列专栏:数据结构 💨吾生也有涯,而知也无涯 💛 感谢大家👍点赞 😋关注📝评论 文章目录 前言一、栈📙1.1 栈…

windows程序基础

一、windows程序基础 1. Windows程序的特点 1.用户界面统一、友好 2.支持多任务:允许用户同时运行多个应用程序(窗口) 3.独立于设备的图形操作 使用图形设备接口( GDI, Graphics Device Interface )屏蔽了不同硬件设备的差异,提供了设备无关的图形输出能力…

“新基建”重新定义大数据安全

摘要:数字信息经济发展时代,大数据已逐渐成为最新和最重要的生产要素。国家大力支持推进“新基建”发展战略,由此带来的大数据安全挑战俨然愈发严峻。“新基建”重新定义了大数据安全,面对层出不穷的网络安全事件,需要构建主动安全防御体系。 关键词:新…

前端开发环境搭建,换新电脑前端开发的步骤,node环境配置

一、下载安装nodeJS 1、下载地址官方网址 NodeJs 2、下载完成后,双击“node-v11.5.0-x64.msi”,开始安装Node.js,一路next,注意:安装目录看自己需求,本人安装在D:\nodejs目录下 3、测试 键盘按下【winR…

Kotlin读写分离CopyOnWriteArrayList

Kotlin读写分离CopyOnWriteArrayList 基于读写分离思想Copy-On-Write(COW)设计的线程安全ArrayList变体,读读共享、写写互斥、读写互斥、写读互斥。读时直接读,不用加锁同步,线程安全。写/删/修改数据时复制一个副本,在新的List副…

挣钱和赚钱是两个概念

挣钱和赚钱虽然听起来很相似,但实际上是两个完全不同的概念。 挣钱通常指的是通过劳动或者服务换取报酬,比如说工资、兼职、打零工等等。而赚钱则是指通过投资、创业等方式获得利润或者收益。 挣钱是一种被动的收入方式,需要付出时间和劳动才…

政策因子条件列表类型

type:1(多选下拉输入) 目前选项是本地写死得,传参拼接了carOwner这些东西,形式是多选输入 type:2 (普通指定形式) type:3(普通区间形式) type:4 (指定输入) 指定除外得特殊一种&…

Chrome浏览器安装Axure插件无法打开本地axure文件

Chrome浏览器安装Axure插件无法打开本地axure文件 Chrome浏览器按照axure插件即可打开 1,下载axure插件,由于Chrome国内连不了商店,只能另外下载 https://download.csdn.net/download/u013303534/88204888 2,Chrome安装插件&#…

c++11 标准模板(STL)(std::basic_stringbuf)(二)

定义于头文件 <sstream> template< class CharT, class Traits std::char_traits<CharT>, class Allocator std::allocator<CharT> > class basic_stringbuf : public std::basic_streambuf<CharT, Traits> std::basic_stringbuf…

从零开始学习 Java:简单易懂的入门指南之抽象类接口内部类(十一)

面向对象进阶&#xff08;抽象类&接口&内部类&#xff09; 第一章 抽象类1.1 概述1.1.1 抽象类引入 1.2 abstract使用格式1.2.1 抽象方法1.2.2 抽象类1.2.3 抽象类的使用 1.3 抽象类的特征1.4 抽象类的细节1.5 抽象类存在的意义 第二章 接口2.1 概述2.2 定义格式2.3 接…

排序算法——基数排序(C语言)

基数排序的概念&#xff1a; 什么是基数排序&#xff1f;&#xff1f;&#xff1f;基数排序是一种和快排、归并、希尔等等不一样的排序...它不需要比较和移动就可以完成整型的排序。它是时间复杂度是O&#xff08;K*N&#xff09;&#xff0c;空间复杂度是O&#xff08;KM&…

【C语言】memcpy()函数

目录 一.memcpy()函数简介 1.函数功能 2.函数参数 1>.void * destination 2>.const void * source 3>.size_t num 3.函数返回值 4.函数头文件 二.memcpy()函数的具体使用 1.使用memcpy()函数完成拷贝整型数组数据 2.使用memcpy()函数拷贝结构体数据 三.模…

善于用兵的人,军队粮草取自敌人

善于用兵的人&#xff0c;军队粮草取自敌人 【安志强趣讲《孙子兵法》第8讲】 【原文】 善用兵者&#xff0c;役不再籍&#xff0c;粮不三载&#xff1b;取用于国&#xff0c;因粮于敌&#xff0c;故军食可足也。 【注释】 役不再籍&#xff1a;役&#xff0c;兵役&#xff1b;…

横向移动-域控提权

横向移动-域控提权 CVE-2021-42287 由于Active Directory没有对域中计算机和服务器账号进行验证&#xff0c;经过身份验证的攻击者利用该漏洞绕过完全限制&#xff0c;可将域中普通用户权限提升为域管理员权限并执行任意代码。 利用条件 前提条件&#xff1a;一个域内普通账…

js jquery写一个画板 实现撤回、清空、换色的功能

画布的canvas画板的大小就是这个画板图片的大小 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><metaname"viewport&qu…

鸿蒙剥离 AOSP 不兼容 Android 热门问题汇总,不吹不黑不吵

上周发了一篇 《鸿蒙终于不套壳了&#xff1f;纯血 HarmonyOS NEXT 即将到来》的相关资讯&#xff0c;没想到大家「讨&#xff08;fa&#xff09;论&#xff08;xie&#xff09;」的热情很高&#xff0c;莫名蹭了一波流量&#xff0c;虽然流量对我来说也没什么用&#xff0c;但…

HOT82-杨辉三角

leetcode原题链接&#xff1a;杨辉三角 题目描述 给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例…

python什么版本比较稳定,python哪个版本用得最多

这篇文章主要介绍了哪个版本的python最好用&#xff0c;具有一定借鉴价值&#xff0c;需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获&#xff0c;下面让小编带着大家一起了解一下。 想学习Python的人都会有一个困惑&#xff0c;那就是Python目前有两个版本Python2和…