sentinel的基本使用
在一些互联网项目中高并发的场景很多,瞬间流量很大,会导致我们服务不可用。
sentinel则可以保证我们服务的正常运行,提供限流、熔断、降级等方法来实现
一.限流:
1.导入坐标
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency>
2.配置
spring:cloud:sentinel:transport:port: 8179dashboard: 127.0.0.1:8333
3.下在sentinel对应的版本服务并启动
4.按照界面操作
二.熔断降级
开启熔断之后,实现远程调用的接口并实现方法(在方法内定义熔断之后的返回值),通过fallback指定实现类则完成简单服务的调用方熔断。
feign:sentinel:enabled: true # 开启远程的熔断
@FeignClient(value = "product",fallback = ProductFeignBack.class)
public interface ProductFeignService {@GetMapping("/sentinelFeign")String sentinelFeign();
}@Slf4j
@Component
public class ProductFeignBack implements ProductFeignService {@Overridepublic String sentinelFeign() {log.info("被降级了....");return "error";}
}
三.网关限流
在前面的提到的限流是针对服务本身的限流,在sentinel里面也支持网关的限流,这样请求直接在网关就被拦截,不会到指定的服务才被拦截。
实现网关的限流也非常简单,导入坐标然后直接操作界面就行
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-sentinel-gateway</artifactId></dependency>
四.链路追踪+zipkin界面展示
在前面的操作中不管是限流还是熔断降级,我们目的是为了保证在高并发的情况下服务能正常运行。
但是在实际的业务中我们一个功能的实现需要调用多个服务才能实现功能,那在服务调用的过程中我们怎样分析查看各个服务的执行时间或者是否成功,以便后期我们分析优化。链路追踪就很好的帮我们完成该统计。zipkin通过界面化的展示更加直观清晰
实现步骤:
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-sleuth</artifactId></dependency>
logging:level:org:springframework:cloud:openfeign: debugsleuth: debug
在通过导入坐标和配置之后,我们就可以通过日志的方式查看链路,但是实际的实际的生产环境中我们不可能根据日志查看链路。我们可以通过zipkin界面的方式查看。
zipkin的实现步骤:
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zipkin</artifactId></dependency>
注意:导入zipkin坐标之后,sleuth坐标就可以不用导入了,因为里面包括了sleuth
spring:zipkin:base-url: http://192.168.127.129:9411discovery-client-enabled: false # 关闭服务发现 佛欧泽cloud会把zipkin的url当服务名称sender:type: web # 设置http的方式传输数据sleuth:sampler:probability: 1 # 设置抽样采集率和100% 默认10%
在导入坐标和配置之后,还需要下载并启动zipkin的服务,因为链路追踪可视化的数据来源于zipkin的服务,最终通过访问zipkin的服务就可以通过界面的方式查看到每一次访问的链路情况。
相关文章:
sentinel的基本使用
在一些互联网项目中高并发的场景很多,瞬间流量很大,会导致我们服务不可用。 sentinel则可以保证我们服务的正常运行,提供限流、熔断、降级等方法来实现 一.限流: 1.导入坐标 <dependency><groupId>com.alibaba.c…...
【STM32】串口通信乱码(认识系统时钟来源)
使用 stm32f407 与电脑主机进行串口通信时,串口助手打印乱码,主要从以下方面进行排查: 检查传输协议设置是否一致(波特率、数据位、停止位、校验位)检查MCU外部晶振频率是否和库函数设置的一致 最终发现是外部晶振频…...
Java实现敏感词过滤功能
敏感词过滤功能实现 1.GitHub上下载敏感词文件 2.将敏感词文件放在resources目录下 在业务中可以将文本中的敏感词写入数据库便于管理。 3.提供实现类demo 代码编写思路如下:1.将敏感词加载到list中,2.添加到StringSearch中,3.校验&#x…...
大数据向量检索的细节问题
背景:现有亿级别数据(条数),其文本大小约为150G,label为字符串,content为文本。用于向量检索,采用上次的试验进行,但有如下问题需要面对: 1、向量维度及所需空间 向量维度一版采用768的bert系列的模型推理得到,openai也有类似的功能,不过是2倍的维度(即1536),至…...
如何让智能搜索引擎更灵活、更高效?
随着互联网的发展和普及,搜索引擎已经成为人们获取信息、解决问题的主要工具之一。 然而,传统的搜索引擎在面对大数据时,往往存在着搜索效率低下、搜索结果精准度不够等问题。 为了解决这些问题,越来越多的企业开始采用智能搜索技…...
C++set集合与并查集map映射,哈希表应用实例B3632 集合运算 1P1918 保龄球
集合的性质 无序性互异性确定性 B3632 集合运算 1 题面 题目背景 集合是数学中的一个概念,用通俗的话来讲就是:一大堆数在一起就构成了集合。 集合有如下的特性: 无序性:任一个集合中,每个元素的地位都是相同的&…...
easyexcel合并单元格底色
一、效果图 二、导出接口代码 PostMapping("selectAllMagicExport")public void selectAllMagicExport(HttpServletRequest request, HttpServletResponse response) throws IOException {ServiceResult<SearchResult<TestMetLineFe2o3Export>> result …...
OpenCV图片校正
OpenCV图片校正 背景几种校正方法1.傅里叶变换 霍夫变换 直线 角度 旋转3.四点透视 角度 旋转4.检测矩形轮廓 角度 旋转参考 背景 遇到偏的图片想要校正成水平或者垂直的。 几种校正方法 对于倾斜的图片通过矫正可以得到水平的图片。一般有如下几种基于opencv的组合方…...
数字孪生流域共建共享相关政策解读
当前数字孪生技术在水利方面的应用刚起步,2021年水利部首次提出“数字孪生流域”概念,即以物理流域为单元、时空数据为底座、数学模型为核心、水利知识为驱动,对物理流域全要素和水利治理管理活动全过程的数字映射、智能模拟、前瞻预演&#…...
FSC147数据集格式解析
一. 引言 在研究很多深度学习框架的时候,往往需要使用到FSC147格式数据集,若要是想在自己的数据集上验证深度学习框架,就需要自己制作数据集以及相关标签,在论文Learning To Count Everything中,该数据集首次被提出。 …...
el-element中el-tabs案例的使用
el-element中el-tabs的使用 代码呈现 <template><div class"enterprise-audit"><div class"card"><div class"cardTitle"><p>交易查询</p></div><el-tabs v-model"activeName" tab-cl…...
tomcat结构目录有哪些?
bin 启动,关闭和其他脚本。这些 .sh文件(对于Unix系统)是这些.bat文件的功能副本(对于 Windows系统)。由于Win32命令行缺少某些功能,因此此处包含一些其他文件。 比如说:windows下启动tomcat用的…...
生成式AI系列 —— DCGAN生成手写数字
1、模型构建 1.1 构建生成器 # 导入软件包 import torch import torch.nn as nnclass Generator(nn.Module):def __init__(self, z_dim20, image_size256):super(Generator, self).__init__()self.layer1 nn.Sequential(nn.ConvTranspose2d(z_dim, image_size * 32,kernel_s…...
vscode-vue项目格式化+语法检验-草稿
Vue学习笔记7 - 在Vscode中配置Vetur,ESlint,Prettier_vetur规则_Myron.Maoyz的博客-CSDN博客...
【Java从0到1学习】10 Java常用类汇总
1. System类 System类对读者来说并不陌生,因为在之前所学知识中,需要打印结果时,使用的都是“System.out.println();”语句,这句代码中就使用了System类。System类定义了一些与系统相关的属性和方法,它所提供的属性和…...
第三届人工智能与智能制造国际研讨会(AIIM 2023)
第三届人工智能与智能制造国际研讨会(AIIM 2023) The 3rd International Symposium on Artificial Intelligence and Intelligent Manufacturing 第三届人工智能与智能制造国际研讨会(AIIM 2023)将于2023年10月27-29日在成都召开…...
层次分析法
目录 一:问题的引入 二:模型的建立 1.分析系统中各因素之间的关系,建立系统的递阶层次结构。 2.对于同一层次的各元素关于上一层次中某一准则的重要性进行两两比较,构造两两比较矩阵(判断矩阵)。 3.由判…...
Error Handling
有几个特定的异常类允许用户代码对与CAN总线相关的特定场景做出反应: Exception (Python standard library)+-- ...+-- CanError (python-can)+-- CanInterfaceNotImplementedError+-- CanInitializationError...
leetcode:字符串相乘(两种方法)
题目: 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 注意:不能使用任何内置的 BigInteger 库或直接将输入转换为整数。 示例 1: 输入: num1 "2", nu…...
【爬虫练习之glidedsky】爬虫-基础2
题目 链接 爬虫往往不能在一个页面里面获取全部想要的数据,需要访问大量的网页才能够完成任务。 这里有一个网站,还是求所有数字的和,只是这次分了1000页。 思路 找到调用接口 可以看到后面有个参数page来控制页码 代码实现 import reques…...
03.有监督算法——决策树
1.决策树算法 决策树算法可以做分类,也可以做回归 决策树的训练与测试: 训练阶段:从给定的训练集构造出一棵树(从根节点开始选择特征,如何进行特征切分) 测试阶段:根据构造出来的树模型从上…...
网络协议详解之STP
目录 一、STP协议(生成树) 1.1 生成树协议核心知识点: 1.2 生成树协议与导致问题: 生成树含义: 1.3 802.1D 规则: 802.1D 缺点: 1.4 PVST cisco私有 1.5 PVST 1.6 快速生成树 快速的原…...
Eltima USB Network Gate 10.0 Crack
USB Network Gate -通过网络共享USB 设备 USB Network Gate (前身为以太网USB控制器USB) 轻松的通过网络(Internet/LAN/WAN)分享您的一个或者多个连接到您计算机的USB设备。 无论您身处异国还是近在隔壁办公室,您都可以轻松使用远程扫描仪、打印机、摄像头、调制解…...
SpringCloudGateway网关实战(一)
SpringCloudGateway网关实战(一) 目前对cloud的gateway功能还是不太熟悉,因此特意新建了对应的应用来尝试网关功能。 网关模块搭建 首先我们新建一个父模块用于添加对应的springboot依赖和cloud依赖。本模块我们的配置读取使用的是nacos&a…...
django中使用ajax发送请求
1、ajax简单介绍 浏览器向网站发送请求时 是以URL和表单的形式提交的post 或get 请求,特点是:页面刷新 除此之外,也可以基于ajax向后台发送请求(异步) 依赖jQuery 编写ajax代码 $.ajax({url: "发送的地址"…...
C++之std::list<string>::iterator迭代器应用实例(一百七十九)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…...
VSCode好用的插件
文章目录 前言1.Snippet Creator & easy snippet(自定义代码)2.Indent Rainbow(代码缩进)3.Chinese (Simplified) Language Pack(中文包)4.Path Intellisense(路径提示)5.Beauti…...
js实现滚轮滑动到底部自动加载(完整版)
这里我们用vue实现(原生js相似), 这里我们用一个div当作一个容器; <div class="JL" @scroll="onScroll" ref="inin"> <div v-for="(item,index) in this.list" :key="index" > ....…...
如何限制PDF打印?限制清晰度?
想要限制PDF文件的打印功能,想要限制PDF文件打印清晰度,都可以通过设置限制编辑来达到目的。 打开PDF编辑器,找到设置限制编辑的界面,切换到加密状态,然后我们就看到 有印刷许可。勾选【权限密码】输入一个PDF密码&am…...
python计算模板图像与原图像各区域的相似度
目录 1、解释说明: 2、使用示例: 3、注意事项: 1、解释说明: 在Python中,我们可以使用OpenCV库进行图像处理和计算机视觉任务。其中,模板匹配是一种常见的方法,用于在一幅图像中识别出与给定…...
wordpress方正模板/天猫代运营
1.配置文件 SpringBoot使用一个全局的配置文件,配置文件名是固定的; application.properties application.yml 配置文件的作用:修改SpringBoot自动配置的默认值 YAML(YAML Ain’t Markup Language) 既是一个标记语言,又不是…...
北京做网站建设的公司/马鞍山seo
1 本机PySpark环境配置 2 PyCharm配置Python解释器 3 应用入口:SparkContext 4 WordCount代码实战 5 代码结果解析 6 从HDFS读取数据 7 提交代码到集群执行 8 总结 1 Python语言开发Spark程序步骤? 主要是获取SparkContext对象,基于SparkContext对象作为…...
招标信息网哪个比较好/优化大师下载安装app
1、vi编辑器visual interface 可视化接口,类似windows的记事本2、vi编辑器的操作模式(esc键切换)command mode - 命令模式insert mode - 输入模式 last line mode - 底行模式(尾行,末行)3、简单操作步骤&am…...
北京运营推广网站建设/搜索竞价托管
struts中核心类:ActionServlet,其中最主要的操作是RequestProcessor类中的process方法。 上篇博客提到struts实现mvc的框架图: struts实现mvc的细粒度图如下: 首先:Tomcat一启动,根据web.xml加载ActionSer…...
长春站建筑风格/个人网页怎么做
ln -s 源文件 目标文件转载于:https://www.cnblogs.com/zongyl/p/10399578.html...
凡科网做网站的图片/住房和城乡建设部官网
学习总结: 通过这一周的学习,我学到了很多新知识。通过看视频,我又进一步学习了java,对java有了更深的了解,也通过在网上找有关HTML和CSS的介绍,我现在已经大概了解了这些东西。在刚开始真的以为这些东西好…...