当前位置: 首页 > news >正文

谷粒商城实战(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毫秒得不到处理 就抛出失败

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


相关文章:

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

Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强 总时长 104:45:00 共408P 此文章包含第326p-第p331的内容 关注的问题 sentinel(哨兵) sentinel来实现熔断、降级、限流等操作 腾讯开源的tendis&#xff0c…...

STM32项目分享:智能家居(机智云)系统

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 1.PCB图 2.PCB板及元器件图 五、程序设计 六、实验效果 七、资料内容 项目分享 一、前言 项目成品图片: 哔哩哔哩视频链接: https://www.bilibili.c…...

游戏盾之应用加速,何为应用加速

在数字化时代,用户对于应用程序的防护要求以及速度和性能要求越来越高。为了满足用户的期望并提高业务效率,应用加速成为了不可忽视的关键。 应用加速是新一代的智能分布式云接入系统,采用创新级SD-WAN跨域技术,针对高防机房痛点进…...

Java 基础面试题

文章目录 重载与重写抽象类与接口面向对象a a b 与 a b 的区别final、finalize、finallyString、StringBuild、StringBuffer位运算反射 重载与重写 重载:是在同一个类中,方法名相同,方法参数类型,个数不同,返回类型…...

Nginx 1.26.0 爆 HTTP/3 QUIC 漏洞,建议升级更新到 1.27.0

据悉,Nginx 1.25.0-1.26.0 主线版本中涉及四个与 NGINX HTTP/3 QUIC 模块相关的中级数据面 CVE 漏洞,其中三个为 DoS 攻击类型风险,一个为随机信息泄漏风险,影响皆为允许未经身份认证的用户通过构造请求实施攻击。目前已经紧急发布…...

uniadmin引入iconfont报错

当在uniadmin中引入iconfont后,出现错误: [plugin:vite:css] [postcss] Cannot find module ‘E:/UniAdmin/uniAdmin/static/fonts/iconfont.woff2?t1673083050786’ from ‘E:\UniAdmin\uniAdmin\static\fonts\iconfont.css’ 这是需要更改为绝对路径…...

Vue3【三】 使用TS自己编写APP组件

Vue3【三】 使用TS自己编写APP组件 运行截图 目录结构 注意目录层级 文件源码 APP.vue <template><div class"app"><h1>你好世界!</h1></div> </template><script lang"ts"> export default {name:App //组…...

数字IC后端物理验证PV | TSMC 12nm Calibre Base Layer DRC案例解析

基于TSMC 12nm ARM A55 upf flow后端设计实现训练营将于6月中旬正式开班&#xff01;小班教学&#xff01;目前还有3个名额&#xff0c;招满为止&#xff01;有需要可以私信小编 ic-backend2018报名。吾爱IC社区所有训练营课程均为直播课&#xff01; 这个课程支持升级成双核A…...

Echarts 在指定部分做文字标记

文章目录 需求分析1. demo1样式调整2. demo22. demo3 定位解决需求 实现在Echarts的折线图中,相同Y值的两点之间显示’abc’ 分析 1. demo1 使用 ECharts 的 markLine 功能来在相邻两个点之间添加标记。其中,我们通过设置标记的 yAxis 和 label 来控制标记的位置和显示内…...

如何发布自己的npm插件包

随着JavaScript在前端和后端的广泛应用,npm(Node Package Manager)已成为JavaScript开发者不可或缺的工具之一。通过npm,开发者可以轻松共享和使用各种功能模块,极大地提高了开发效率。那么,如何将自己开发的功能模块发布为npm插件包,与全球的开发者共享呢?本文将进行全…...

AI和机器人引领新一轮农业革命

AI和机器人技术在农业领域的应用正在迅速发展&#xff0c;未来它们可能会实现厘米级精度的自主耕作。 精确种植&#xff1a;AI算法可以分析土壤条件、气候数据和作物生长周期&#xff0c;以决定最佳种植地点和时间。 土壤管理&#xff1a;利用传感器和机器学习&#xff0c;机器…...

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

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

国产Sora免费体验-快手旗下可灵大模型发布

自从OpenAI公布了Sora后&#xff0c;震爆了全世界&#xff0c;但由于其技术的不成熟和应用的局限性&#xff0c;未能大规模推广&#xff0c;只有零零散散的几个公布出来的一些视频。昨日&#xff0c;快手成立13周年&#xff0c;可灵&#xff08;Kling&#xff09;大模型发布&am…...

linux嵌入式设备测试wifi信号强度方法

首先我们要清楚设备具体链接在哪个wifi热点上 执行&#xff1a;nmcli dev wifi list rootubuntu:/home/ubuntu# nmcli dev wifi list IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS > * 14:EB:08:51:7D:20 wifi22222_5G Infr…...

【名词解释】Unity的Inputfield组件及其使用示例

Unity的InputField组件是一个UI元素&#xff0c;它允许用户在游戏或应用程序中输入文本。InputField通常用于创建表单、登录界面或任何需要用户输入文本的场景。它提供了多种功能&#xff0c;比如文本验证、占位符显示、输入限制等。 功能特点&#xff1a; 文本输入&#xff…...

Android 安装调试 TelephonyProvider不生效

直接安装TelephonyProvider的时候&#xff0c;&#xff08;没有重启&#xff09;发现数据库没有生效。 猜测应该是原本的数据库没有删除后重建更新。 解决方法&#xff1a;杀掉phone进程 adb shell am force-stop com.android.phone 查看device进程 adb shell ps | grep <…...

【C++】STL中List的基本功能的模拟实现

前言&#xff1a;在前面学习了STL中list的使用方法&#xff0c;现在我们就进一步的讲解List的一些基本功能的模拟实现&#xff0c;这一讲博主认为是最近比较难的一个地方&#xff0c;各位一起加油。 &#x1f496; 博主CSDN主页:卫卫卫的个人主页 &#x1f49e; &#x1f449; …...

C语言基础——函数

ʕ • ᴥ • ʔ づ♡ど &#x1f389; 欢迎点赞支持&#x1f389; 个人主页&#xff1a;励志不掉头发的内向程序员&#xff1b; 专栏主页&#xff1a;C语言基础&#xff1b; 文章目录 前言 一、函数的概念 二、库函数 2.1 库函数和头文件 2.2 库函数的使用/…...

《精通ChatGPT:从入门到大师的Prompt指南》第1章:认识ChatGPT

第1章&#xff1a;认识ChatGPT 1.1 ChatGPT是什么 ChatGPT&#xff0c;全称为Chat Generative Pre-trained Transformer&#xff0c;是由OpenAI开发的一种先进的自然语言处理模型。它利用了深度学习中的一种技术——Transformer架构&#xff0c;来生成类人文本。ChatGPT通过对…...

智慧视觉怎么识别视频?智慧机器视觉是通过什么步骤识别视频的?

智慧视觉功能怎么识别视频&#xff1f;智慧视觉是搭载在智能设备比如手机、AI盒子、机器视觉系统上的一个应用程序或特性&#xff0c;采用计算机视觉和人工智能的技术来识别图像或视频中的内容。如果想了解视频识别&#xff0c;就要明白智慧视觉功能会涉及的以下几个关键步骤和…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

省略号和可变参数模板

本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent

安全大模型训练计划&#xff1a;基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标&#xff1a;为安全大模型创建高质量、去偏、符合伦理的训练数据集&#xff0c;涵盖安全相关任务&#xff08;如有害内容检测、隐私保护、道德推理等&#xff09;。 1.1 数据收集 描…...