谷粒商城实战(033 业务-秒杀功能4-高并发问题解决方案sentinel 1)

Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强

总时长 104:45:00 共408P

此文章包含第326p-第p331的内容


关注的问题

在这里插入图片描述

在这里插入图片描述

sentinel(哨兵)

sentinel来实现熔断、降级、限流等操作
在这里插入图片描述
腾讯开源的tendis,分布式缓存
第一辆车开太慢就会堵车

在这里插入图片描述
有的解释,降级是提供错误的一个兜底反馈,跟这个解释好像不太一样

在这里插入图片描述

sentinel学习

在这里插入图片描述

在这里插入图片描述

五种方法 我们一般使用第四种注解方法 第一种适配方法 第二种抛异常方法
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

步骤

在这里插入图片描述

  1. 引入sentinel包 在这里插入图片描述
    在这里插入图片描述
    控制台
    在这里插入图片描述
    查看调用的是哪个版本的sentinel
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这个jar包是个springboot项目 可以java -jar 直接启动

在这里插入图片描述
这个项目默认端口是8080 如果被占用的话 可以用 --server.port=你要的端口号
在这里插入图片描述
在这里插入图片描述

步骤

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

控制台操作方式

新增一个流控规则
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
再次刷新 进行限流
在这里插入图片描述
在这里插入图片描述

出现空指针异常 加一下判断即可
在这里插入图片描述
在这里插入图片描述

只要加了依赖 就都会被监控
在这里插入图片描述
在这里插入图片描述

暴露规则

在这里插入图片描述

全部暴露
在这里插入图片描述

添加审计图

导入endpoint依赖就可以使用统计图
在这里插入图片描述

exclude是排除哪些(不暴露)
include(暴露)
在这里插入图片描述

在这里插入图片描述

自定义流控返回

在这里插入图片描述
新增一个配置类
在这里插入图片描述

sentinel 提供的管理器类
在这里插入图片描述

如果用spring5的webFlux编程就用下面的 这里我们用上面的
在这里插入图片描述
定义一个错误码
在这里插入图片描述

在这里插入图片描述
乱码了 我们定义一下编码就行
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

全服务引入

每个服务都导入actuator 然后配置信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

错误

循环依赖错误
这里是用构造注入的方式解决循环依赖
在这里插入图片描述

在这里插入图片描述
解决:
在这里插入图片描述

注掉@postConstruct (它的作用是 方法会在bean实例化后被立即调用。)
在这里插入图片描述
在这里插入图片描述
这里解决失败,还是报错,我们自己创建一个rabbitTemplate在这里插入图片描述
这里的@Primary注解的作用: 用于指示一个类、方法或字段作为首选的候选对象。当应用于类时,@Primary注解表示该类是首选的候选对象,将优先被实例化。当应用于方法时,@Primary注解表示该方法是最优选的候选方法,将优先被调用。当应用于字段时,@Primary注解表示该字段是最优选的候选字段,将优先被访问。

我们定义的rabbitTemplate比别人的少一些配置 如下
在这里插入图片描述

还有一直解决方法

把@Bean注释的转换器和RabbitTemplate拆成两个文件,可以解决循环依赖


效果

走完流程后
在这里插入图片描述
在这里插入图片描述

流控效果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

warm up(热身)

在这里插入图片描述
在这里插入图片描述
峰值如果是500 我们使用 warm up(热身) :10秒内放进来500个请求
在这里插入图片描述

排队等待

如果峰值时是500 进来700个请求 我们先将前500进行处理 然后剩下的200 等待我们设置的如3000毫秒 如果3000毫秒得不到处理 就抛出失败

在这里插入图片描述在这里插入图片描述


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

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

相关文章

ctfshow web

【nl】难了 <?php show_source(__FILE__); error_reporting(0); if(strlen($_GET[1])<4){echo shell_exec($_GET[1]); } else{echo "hack!!!"; } ?> //by Firebasky //by Firebasky ?1>nl //先写个文件 ?1*>b //这样子会把所有文件名写在b里…

JSON 无法序列化

JSON 无法序列化通常出现在尝试将某些类型的数据转换为 JSON 字符串时&#xff0c;这些数据类型可能包含不可序列化的内容。 JSON 序列化器通常无法处理特定类型的数据&#xff0c;例如日期时间对象、自定义类实例等。在将数据转换为 JSON 字符串之前&#xff0c;确保所有数据都…

「动态规划」如何求地下城游戏中,最低初始健康点数是多少?

174. 地下城游戏https://leetcode.cn/problems/dungeon-game/description/ 恶魔们抓住了公主并将她关在了地下城dungeon的右下角。地下城是由m x n个房间组成的二维网格。我们英勇的骑士最初被安置在左上角的房间里&#xff0c;他必须穿过地下城并通过对抗恶魔来拯救公主。骑士…

【Text2SQL 论文】C3:使用 ChatGPT 实现 zero-shot Text2SQL

论文&#xff1a;C3: Zero-shot Text-to-SQL with ChatGPT ⭐⭐⭐⭐ arXiv:2307.07306&#xff0c;浙大 Code&#xff1a;C3SQL | GitHub 一、论文速读 使用 ChatGPT 来解决 Text2SQL 任务时&#xff0c;few-shots ICL 的 setting 需要输入大量的 tokens&#xff0c;这有点昂贵…

MacOS M系列芯片一键配置多个不同版本的JDK

第一步&#xff1a;下载JDK。 官网下载地址&#xff1a;Java Archive | Oracle 选择自己想要下载的版本&#xff0c;一般来说下载一个jdk8和一个jdk11就够用了。 M系列芯片选择这两个&#xff0c;第一个是压缩包&#xff0c;第二个是dmg可以安装的。 第二步&#xff1a;编辑…

eclipse插件开发(二)RCP第三方库的引入方式

RCP第三方库的引入 最近在RCP开发过程中遇到JSON串与对象互转的问题&#xff0c;如何像spring开发模式一样引入第三方库呢&#xff1f;eclipse插件开发中用到p2库&#xff0c;但也支持maven库的引入。关键在于.target这个关键文件。 .target 文件用于定义一个目标平台&#x…

民主测评要做些什么?

民主测评&#xff0c;作为一种重要的民主管理工具&#xff0c;旨在通过广泛征求群众意见&#xff0c;对特定对象或事项进行客观、公正的评价。它不仅是推动民主参与、民主监督的重要手段&#xff0c;也是提升治理效能、促进社会和谐的有效途径。以下将详细介绍民主测评的主要过…

如何以非交互方式将参数传递给交互式脚本

文章目录 问题回答1. 使用 Here Document2. 使用 echo 管道传递3. 使用文件描述符4. 使用 expect 工具 参考 问题 我有一个 Bash 脚本&#xff0c;它使用 read 命令以交互方式读取命令参数&#xff0c;例如 yes/no 选项。是否有一种方法可以在非交互式脚本中调用这个脚本&…

Chrome 源码阅读:跟踪一个鼠标事件的流程

我们通过在关键节点打断点的方式&#xff0c;去分析一个鼠标事件的流程。 我们知道chromium是多进程模型&#xff0c;那么&#xff0c;我们可以推测&#xff1a;一个鼠标消息先从主进程产生&#xff0c;再通过跨进程通信发送给渲染进程&#xff0c;渲染进程再发送给WebFrame&a…

【FAS】《CN103106397B》

原文 CN103106397B-基于亮瞳效应的人脸活体检测方法-授权-2013.01.19 华南理工大学 方法 / 点评 核心方法用的是传统的形态学和模板匹配&#xff0c;亮点是双红外发射器做差分 差分&#xff1a;所述FPGA芯片控制两组红外光源&#xff08;一近一远&#xff09;交替亮灭&…

RDMA (2)

iWARP(RDMA)怎么工作的 招式1:bypass内核 非iWARP时,当应用向网络适配器发出读或者写命令时,命令穿过用户空间以及内核空间,因此需要在用户空间和内核空间间进行切换。 iWARP使用RDMA,让应用直接将命令送达到网络适配器。这规避了对内核的调用,减少了开销和延迟。 招式2…

【Kubernetes】三证集齐 Kubernetes实现资源超卖(附镜像包)

目录 插叙前言一、思考和原理二、实现步骤0. 资料包1. TLS证书签发2. 使用 certmanager 生成签发证书3. 获取secret的内容 并替换CA_BUNDLE4.部署svc deploy 三、测试验证1. 观察pod情况2. 给node 打上不需要超售的标签【可以让master节点资源不超卖】3. 资源实现超卖4. 删除还…

IP域名关系的研究与系统设计(学习某知名测绘系统)

IP域名关系库管理包括域名库检索和whois库检索&#xff0c;详情如下。 域名库检索支持以下5项功能&#xff1a; 1.通过过滤器检索 筛选条件包含IP地址、口令、工具名称、可利用的漏洞编号、创建时间&#xff1b; 2.通过关键字检索 在查询框中输入域名库名称的部分关键词&a…

计算机组成结构—IO系统概述

目录 一、I/O 系统的发展 1. 早期阶段 2. 接口模块和 DMA 阶段 3. 通道结构阶段 4. 处理机阶段 二、I/O 系统的组成 1. I/O 软件 2. I/O 硬件 三、I/O 设备 1. I/O 设备分类 2. I/O 设备的组成 在计算机中&#xff0c;除 CPU 和主存两大模块之外&#xff0c;第三个重…

Apple开发者应用商店(AppStore)描述文件及ADHOC描述文件生成

创建AD HOC描述文件 1.选中Profiles,然后点击加号创建 2.创建已注册设备可安装描述文件 3.选择要注册的id 4.选择证书 5.选择设备 6.输入文件名,点击生成 7.生成成功,点击下载

Java使用OpenCV计算两张图片相似度

业务&#xff1a;找出两个表的重复的图片。 图片在表里存的是二进制值&#xff0c;存在大量由于一些特殊情况例如扫描有差异&#xff0c;导致图片存的二进制值不同&#xff0c;但图片其实是一样来的。 所以找出两个表重复相同的图片&#xff0c;不可能只是单纯的比较二进制值…

flask招聘数据分析及展示平台-计算机毕业设计源码39292

目 录 摘要 1 绪论 1.1研究意义 1.2国内外研究进展 1.3flask框架介绍 2 1.4论文结构与章节安排 3 2 招聘数据分析及展示平台分析 4 2.1 可行性分析 4 2.2 系统流程分析 4 2.2.1数据增加流程 5 2.3.2数据修改流程 5 2.3.3数据删除流程 5 2.3 系统功能分析 5 2.3.1 功能性分…

亚马逊新品如何快速吸引流量?自养号测评助卖家一臂之力

在亚马逊平台上每天都会有大量的新品推出&#xff0c;而这些新品中有部分可能并没有什么流量和订单&#xff0c;有些可能上架后立马就能获得流量了&#xff0c;那么亚马逊上新品一般几天出单&#xff1f; 一、亚马逊上新品一般几天出单&#xff1f; 亚马逊上新品出单的时间因…

人工智能时代,想转型AI产品经理?这篇文章你不应该错过

前言 在这个日新月异的智能时代&#xff0c;人工智能&#xff08;AI&#xff09;已经从未来概念转变为推动各行各业发展的核心驱动力。作为连接技术与市场的桥梁&#xff0c;AI产品经理的角色愈发关键&#xff0c;他们不仅是技术的翻译者&#xff0c;更是创新的推动者。如果你…

Mintegral解析休闲游戏如何靠创意素材吸引玩家

核心玩法简单清晰、容易让人无限上头的休闲游戏&#xff0c;玩法机制一般比较明确、简单&#xff0c;如果要在短时间内吸引玩家注意&#xff0c;除了完整展示游戏流程以外&#xff0c;开发者需要在素材中设置更多亮点性的内容&#xff0c;如吸睛的剧情、爆炸性的视听效果等元素…