Dubbo(尚硅谷)学习笔记3

news2024/11/16 17:47:27

这是我们正常启动:

 

 现在我们去把zookeeper注册中心关掉。

 此时我们的注册中心是用不了的。

但是我们的数据还有,也就是我们的消费者还是能调用我们的提供者中的方法。

 那么我们现在来试一下dubbo直连,也就是没有注册中心,我们也可以正常使用:

我们现在来配置一下:

我们可以直接进行连接。

 

 

 

 

1号服务:

2号服务:

3号服务:

 

我们现在就有3个提供者了。

 我们现在来启动消费者:

我们现在可以看到三个服务者一个提供者。

那么我们来看一下我们第一次调用的是哪个提供者:
 

 

可以看到我们调用的是2号服务。

 我们再去刷新一下:

还是我们的2号。

我们再刷新一下:

 

这次是我们的3号服务。

 我们可以看出我们的dubbo中默认的是随机,也就是我们的权重方法。

我们可以去查看这个接口,默认是随机的。

 

我们有很多种负载均衡机制。

 当然我们也是可以去更改我们的负载均衡方式的:

 

 

我们这样配置,我们以轮询为例,这样去做一下看看效果:

 我们刷新四次依次调用:

 我们再调回随机:

这样我们可以针对权重进行一些配置:

 

我们可以在主页给它调配它的权重。

 

可以看到我们给它们调成了不同的权重。

这样运行后可以根据权重优先选择提供者调用。

服务降级:

 

 

我们可以选择屏蔽功能:

这样我们就不再发起调用了。

 

我们可以发现这是空的。

 

 也没有显示我们调用了服务。

当然我们也可以让它再恢复过来;

 

 

 这样我们可以线上实时的去根据需求和情况去屏蔽掉某些服务。

然后我们再去试一下容错:

我们还是可以调用成功的。

这个和屏蔽的区别是,我们这个是当能够正常调用时不会有什么措施,只有在无法正常调用的时候才会返回空。

那我们就设置一下,让我们的服务无法正常调用:

 

我们的消费者允许的超时时间是1秒。

 

我们的提供者需要睡2秒,这样正常来说是无法调用成功的。

我们再去试一下:

 

现在我们的消费者是已经容错了的状态的。

我们返回的是空。

 

我们的控制台也并没有报错。

 那如果我们取消容错呢?

 

我们发现页面报错了。

那么我们就可以根据实际情况进行服务的容错和屏蔽处理了。 

服务容错

 

 我们默认的方式是第一个Failover Cluster也就是设置我们的重试次数。

当然在企业中我们可能并不是通过这些方式进行容错的。

我们可能会使用到熔断器:

 这个也是我们springcloud默认的容错方式。

 

我们首先要导入我们的依赖。

 

 我们加上容错注解。

我们现在不让服务超时了。

 我们这里写上这样一段产生随机数的代码,这样是可能随时产生异常的。

给方法配上我们这样的一个注解就可以开启容错了。

 然后我们就可以启动提供者了。

这里我们要更改一下我们的pom依赖版本:

 

 

 

这样我们的提供者就正常启动了。

 当然我们在我们的消费者中也要去做相关的依赖配置:

 

 

 然后我们在我们的消费者的启动类上也要加上我们的熔断器注解:

 

我们的消费者想调用服务者的时候,这里可能会出错,所以在这里我们要做相关容错配置。

 

 这样如果出错了,我们会返回下面的方法。

我们运行消费者进行测试:

失败的时候就会调用容错方法了,这里和springcloud中的容错方法差不多。 

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

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

相关文章

VideoRender和ImageRender中的一些c++知识点

1.inline C中的inline用法_路痴的旅行的博客-CSDN博客 1 引入inline关键字的原因在c/c中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数,栈空间就是…

深入理解计算机系统_静态链接和动态链接以及静态库和动态库

这篇文章记录静态链接和动态链接以及静态库和动态库的原理。 1 静态链接和动态链接 链接其实就是连接的意思,将所有相关的东西连接起来。 1.1 静态链接 什么是静态链接?编译时候的链接就是静态链接,所以ld/collect2链接程序,也…

公司让我一个人干数据中台,是不是可以准备找下家了

大数据群里,有个哥们问了下面这样一个问题,让刚刚阳康返工的群友们笑的心跳加速,直接炸锅。 开工有惊喜 一个人搞一个数据中台!这是啥神仙领导做出来的决策?是发烧的时候拍脑袋定的吗?热心的群友也都给出了…

vector类的使用

目录 ​一、vector类的组织形式 二、vector类的成员函数 1.默认成员函数 (1)构造函数、拷贝构造函数 (2)析构函数和赋值运算符重载 2.容量操作 3.迭代器(iterator) 4.元素访问 5.修改操作 一、vec…

web3调研:Dusk Network调研

在此声明,仅做分享,绝不存在倡导炒币行为 原文链接:Dusk 调研报告 web3产品调研系列 1、web3调研:Iron fish调研 2、web3调研:Dusk Network调研 目录web3产品调研系列一、背景概述二、项目介绍2.1 创始团队2.2 项目融…

【数据结构】三万字图文讲解带你手撕八大排序(附源码)

👑作者主页:进击的安度因 🏠学习社区:进击的安度因(个人社区) 📖专栏链接:数据结构 文章目录一、前言二、排序的概念和运用三、八大排序讲解及实现1、直接插入排序1.1 排序思路1.2 代…

Java重点源码回顾——ConcurrentHashMap1.7

1. 概述 HashMap在我们的日常生活中使用很多,但是它不是线程安全的。我们可以使用HashTable来代替,主要实现方式是在方法中加入synchronized,所以效率也比较低。因此,对于键值对,我们可以尝试使用ConcurrentHashMap来…

《Java 后端面试经》微服务篇

《Java 后端面试经》专栏文章索引: 《Java 后端面试经》Java 基础篇 《Java 后端面试经》Java EE 篇 《Java 后端面试经》数据库篇 《Java 后端面试经》多线程与并发编程篇 《Java 后端面试经》JVM 篇 《Java 后端面试经》操作系统篇 《Java 后端面试经》Linux 篇 《…

关于Linux 网络抓包的一些笔记整理

写在前面 遇到一个 ping 单通 的情况,需要抓包分析下,所以整理这部分笔记博文内容涉及: HTTP/TCP 抓包分析 DemoICMP 抓包分析 DemoNginx 抓包分析用户名密码 Demo 理解不足小伙伴帮忙指正 这世界的存在完全只是就它对一个其他事物的&#xf…

【自学Java】Java选择结构if

Java选择结构if Java语言if条件判断 在 Java 中,关键字 if 是用于测试某个条件(布尔型或逻辑型)的语句是否满足一定的条件,如果满足特定的条件,则会执行 if 后面的大括号 {} 括起来的代码块,如果没有代码…

hnu社交网络分析作业2

前言:前言:上的是林剑新老师的课程,还是比较有意思的,此博客用来记录作业的学习情况,答案为老师提供的 一、2 跳标签索引是一种在网络中进行距离查询时广泛使用的技术。算法 1 描述了一种在无向图中构造 2 跳标签索引…

Java 接口介绍和使用

1.什么是接口? 接口就是给出一些没有实现的方法,封装到一起,当某一个类要使用的时候再实现出来。 2.接口的语法 interface name{ attributes methods } 比如如下USB接口 public interface Usb {public void start();public void s…

Vue 中 CSS scoped 的原理

前言 在日常的Vue项目开发过程中&#xff0c;为了让项目更好的维护一般都会使用模块化开发的方式进行。也就是每个组件维护独立的template&#xff0c;script&#xff0c;style。主要介绍一下使用<style scoped>为什么在页面渲染完后样式之间并不会造成污染。 示例 搭…

FreeRTOS开发指南

1&#xff1a;任务模板 //任务优先级 #define XXX_TASK_PRIO 1 //任务堆栈大小 #define XXX_STK_SIZE 128 //任务句柄 TaskHandle_t XXXTask_Handler NULL; /* * 放在开始任务&#xff0c;只需要执行一次为了创建任务 */ void Create_XXX_Task(void) {BaseType_t xR…

编码器-解码器架构

“编码器&#xff0d;解码器”架构可以将长度可变的序列作为输入和输出&#xff0c;因此适用于机器翻译等序列转换问题。 编码器将长度可变的序列作为输入&#xff0c;并将其转换为具有固定形状的编码状态。 解码器将具有固定形状的编码状态映射为长度可变的序列。 机器翻译是…

2022 年我国的对外贸易行业发展如何?

2021年&#xff0c;在各种不确定因素的影响下&#xff0c;中国外贸人依然以其强大的韧性和实力取得了新的进出口成绩。去年进出口总值创历史新高&#xff0c;达到6.05万亿美元&#xff0c;一年内分别突破5万亿美元和6万亿美元。 在2021年成绩和经验的加持下&#xff0c;今年外…

SpringBoot+VUE前后端分离项目学习笔记 - 【08 SpringBoot实现分页查询】

手动实现分页功能 先理解分页查询原理 采用limit语句来实现分页 -- 页码PageNum 每页数据条目PageSize5 -- 第一页 PageNum0, limit 0,5 SELECT * FROM sys_user limit 0,5; -- 第二页 PageNum1, limit 5,5 SELECT * FROM sys_user limit 5,5; -- 公式&#xff1a; limit …

Python压缩模块:bz2

文章目录基本原理调用基本原理 bz2和zlib的功能是基本一致的&#xff0c;只是算法不同。zlib模块此前已经总结了&#xff1a;zlib模块详解 bz2模块用到的压缩算法是bzip2算法&#xff0c;其核心是BW变换和MTF变换&#xff0c;当然最后少不了霍夫曼编码。 BWT&#xff0c;即B…

Qt RSA OpenSSL C++ Qt加密解密签字通信系统窗体源码

程序示例精选 Qt RSA OpenSSL C Qt加密解密签字通信系统窗体 如需安装运行环境或远程调试&#xff0c;见文章底部微信名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<Qt RSA OpenSSL C Qt加密解密签字通信系统窗体>>编写代码&#xff0c…

年终回顾 | 小米技术最受欢迎的技术文章TOP20

转眼间&#xff0c;小米技术已经陪伴大家度过了一整个年头。在一年里&#xff0c;我们始终坚持为大家提供有趣好玩的技术科普、硬核前沿的技术干货&#xff0c;带给大家一切有关小米的新鲜技术创新内容。2023年就要到了&#xff0c;欢迎你点击文末左下角的“阅读原文”填写一份…