外贸网站推广方式专业行业网站建设

张小明 2026/1/11 14:02:16
外贸网站推广方式,专业行业网站建设,上海手机网站,wordpress好用么随着微服务的流行#xff0c;服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点#xff0c;从{yellow}流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。定义{green}资源#xff1a; 主流框架{orange}自动适配{orange}编程式#xff1a;SphU AP…随着微服务的流行服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点从{yellow}流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。定义{green}资源主流框架{orange}自动适配{orange}编程式SphU API{orange}声明式SentinelResource定义{green}规则流量控制FlowRule熔断降级DegradeRule系统保护SystemRule来源访问控制AuthorityRule热点参数ParamFlowRule工作原理一、安装引入sentinel依赖:dependency groupIdcom.alibaba.cloud/groupId artifactIdspring-cloud-starter-alibaba-sentinel/artifactId /dependencyyml文件添加sentinel相关配置:spring:cloud:sentinel:transport:dashboard:localhost:8080#配置Sentinel dashboard地址eager:true# sentinel提前加载默认是懒加载这里主要是为了方便演示和学习生产环境不要这样搞查看sentinel控制台发现已经监控到了我们服务二、控制规则限制多余请求从而保护系统资源不被耗尽1、流控规则调用关系包括调用方、被调用方一个方法又可能会调用其他方法形成一个调用链路的层次关系有了调用链路的统计信息我们可以衍生出多种流量控制手段。1.1、流控规则的各个属性资源名 唯一名称默认请求路径表示对该资源进行流控针对来源 Sentinel可以针对调用者进行限流填写微服务名默认default不区分来源阈值类型/单击阈值QPS每秒钟的请求数量当调用该api的QPS达到阈值时进行限流线程数当调用该线程数达到阈值的时候进行限流添加后流控规则之后快速访问接口查看效果默认的错误页高级选项流控模式直接默认关联当关联的资源{green}写达到阈值时限流自己{red}读链路这个需要配置一下ymlsentinel:transport:dashboard:192.168.88.139:8858eager:trueweb-context-unify:false# 分割统一web的上下文默认为true流控效果{red}注意只有快速失败支持流控模式直接、关联、链路的设置也就是说Warm Up和排队等待不支持关联和链路快速失败Warm Up 预热/冷启动效果类似逐步提升自己的峰值慢慢提升自己的qps匀速排队QPS代表 每秒并行的消息timeout代表 最长等待时间2、熔断规则切断不稳定调用快速返回不积压避免雪崩效应最佳策略熔断降级作为保护自身的手段通常在客户端调用端进行配置。所以熔断肯定是在服务间调用的地方配置的1. 熔断器的三种状态 (State Machine)理解熔断规则首先要理解熔断器的工作状态流转CLOSED (关闭状态):初始状态。请求正常通过Sentinel 会在后台统计指标响应时间、异常比例等。OPEN (打开/熔断状态):当统计指标超过设定的阈值熔断器进入 OPEN 状态。行为:在接下来的熔断时长 (TimeWindow)内所有请求都会直接被拒绝抛出DegradeException不再调用后端服务。HALF-OPEN (半开状态):当熔断时长结束后熔断器尝试进入 HALF-OPEN 状态。行为:允许一次请求通过。如果该请求成功熔断器关闭 (CLOSED)恢复正常。如果该请求失败熔断器再次打开 (OPEN)并重新开始计时。2. 三种熔断策略 (Strategies)在 Sentinel 控制台中配置熔断规则时有三个核心策略A. 慢调用比例 (Slow Call Ratio)适用场景:服务没挂但是响应非常慢导致调用方线程池耗尽。判断逻辑:你需要定义什么是“慢调用”比如响应时间 (RT) 200ms。在统计时长内如果请求总数 最小请求数且慢调用的比例超过设定的阈值。关键参数:最大 RT (Count):设置为 200ms。超过这个时间的请求被记为“慢调用”。比例阈值:范围 0.0 ~ 1.0。比如 0.6 代表 60%。熔断时长:熔断触发后持续多久。B. 异常比例 (Exception Ratio)适用场景:服务逻辑报错或者网络连接异常。判断逻辑:在统计时长内如果请求总数 最小请求数。异常请求的比例超过设定的阈值。关键参数:比例阈值 (Count):范围 0.0 ~ 1.0。比如 0.5 代表 50% 的请求都报错了。注意:业务代码显式抛出的异常才算被 Sentinel 限流抛出的 BlockException 不算。C. 异常数 (Exception Count)适用场景:请求量非常少QPS 很低用比例不准确时使用。判断逻辑:在统计时长内异常请求的数量超过设定的具体数值。关键参数:异常数 (Count):比如设置为 5。表示只要出错 5 次就熔断。避坑指南 - 最小请求数 (minRequestAmount):假设你设置了“异常比例 50%”如果不设置最小请求数默认为 5当 1 秒内只有 1 个请求且报错了异常比例就是 100%直接熔断。这显然不合理。建议:设置为 5 或 10即只有当并发量达到一定程度且错误率高时才触发熔断。3、热点规则热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的数据并对其访问进行限制比如对某个商品id进行限制或者对某个用户id进行限制3.1、热点规则属性参数索引方法中参数的索引第几个参数单机阈值每秒达到单机阈值的数量就会触发兜底方法案例新建一个热点规则我们先创建一个测试方法使用注解资源名称的形式并创建自定义兜底方法/** * 测试centinel热点规则限流 * param userId * param shopId * return */GetMapping(/hotspot)SentinelResource(valuehotspotResource,blockHandlerhotspotResource,blockHandlerClassUserSentinelResourceHandler.class)publicStringhotspot(RequestParam(valueuserId,requiredfalse)StringuserId,RequestParam(valueshopId,requiredfalse)StringshopId){System.out.println(我是hotspot);return我是hotspot;}兜底方法publicstaticStringhotspotResource(StringuserId,StringshopId,BlockExceptionblockException){System.out.println(您被认为恶意访问触发热点限流);return您被认为恶意访问触发热点限流;}然后我们在控制台新建热点规则其中参数索引 0 代表的就是userId这个参数我们访问一下接口 先访问带shopId的一秒内多次访问正常返回再访问下带userId参数的一秒内多次访问三、异常处理1、Web接口创建一个exception的文件ComponentpublicclassMyBlockExceptionHandlerimplementsBlockExceptionHandler{privatefinalObjectMapperobjectMappernewObjectMapper();Overridepublicvoidhandle(HttpServletRequesthttpServletRequest,HttpServletResponseresponse,Strings,BlockExceptione)throwsException{response.setContentType(application/json;charsetutf-8);PrintWriterwriterresponse.getWriter();RerrorR.error(500,e.getMessage());StringjsonobjectMapper.writeValueAsString(error);writer.write(json);writer.flush();writer.close();}}{red}注意import com.alibaba.csp.sentinel.adapter.spring.webmvc_v6x.callback.BlockExceptionHandler; 不要引入错误了2、SentinelResourcefallback用于在抛出异常的时候提供fallback处理逻辑。fallback函数可以针对所有类型的异常除了execptionsToIgnore 里面排除掉的异常类型进行处理函数要求为返回类型与原方法一致参数类型需要和原方法相匹配Sentinel 1.6版本之后也可在方法最后加上BlockException类型的参数默认需和原方法在同一个类中若希望使用其他类的函数可配置fallbackClass并指定fallbackClass里面的方法SentinelResource(valuecreateOrder,blockHandlercreateOrderFallback)OverridepublicOrdercreateOrder(LonguserId,LongproductId){// Product product getProductFromRemote(productId);ProductproductproductFeignClient.getProductById(productId);OrderordernewOrder();order.setId(1L);// 总金额order.setTotalAmount(product.getPrice().multiply(newBigDecimal(product.getNum())));order.setUserId(userId);order.setNickName(kkl-sqm);order.setAddress(库库林-沙琪马);// TODO 远程查询商品列表order.setProductList(List.of(product));returnorder;}// 兜底回调publicOrdercreateOrderFallback(LonguserId,LongproductId,BlockExceptione){OrderordernewOrder();order.setId(0L);order.setTotalAmount(newBigDecimal(0));order.setUserId(userId);order.setNickName(未知用户);order.setAddress(异常信息e.getMessage());returnorder;}如果不指定blockHandler则 会让异常上抛到全局异常又项目的springboot的全局异常处理器来处理3、OpenFeign调用这里是根据OpenFeign的fallback来实现的和 上面的一样如果不配置fallback异常会上抛被全局异常处理四、持久化配置日后再说
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

免费自建商城网站wordpress 小米官网主题

显卡驱动冲突、性能下降、安装失败...这些问题困扰着无数电脑用户。Display Driver Uninstaller(DDU)作为专业的驱动清理工具,能够从根源解决这些顽疾,让你的显卡性能重获新生。 【免费下载链接】display-drivers-uninstaller Dis…

张小明 2026/1/10 1:49:50 网站建设

营销型网站建设微博网站访问速度分析

从零构建一个可靠的STM32工程:Keil配置中的时序与初始化陷阱全解析你有没有遇到过这样的情况?代码逻辑明明没问题,但程序就是跑不起来——串口输出乱码、ADC采样值跳变、甚至刚进main()就HardFault。更离谱的是,换一块板子同样的代…

张小明 2026/1/10 14:21:09 网站建设

济南网站优化厂家温州品牌网站建设

LeagueAkari终极指南:英雄联盟自动化助手完整使用教程 【免费下载链接】LeagueAkari ✨兴趣使然的,功能全面的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/LeagueAkari LeagueAk…

张小明 2026/1/10 15:28:04 网站建设

工程综合承包seo是什么意思 为什么要做seo

微信小程序开发客服消息回复IndexTTS2技术支持 在智能客服日益普及的今天,用户早已不满足于“收到请回复”式的机械应答。尤其是在微信小程序这样高频交互的场景中,一条冷冰冰的文字回复,可能直接拉低整个品牌的温度。有没有一种方式&#x…

张小明 2026/1/10 15:28:03 网站建设

北京网站建设策划方案西安网站建设定

GLR解析与C++解析器的深入探究 1. GLR解析概述 1.1 GLR解析的优缺点 传统的解析器生成器(如yacc和bison)创建的解析器比手写解析器更可靠。若将无冲突的语法输入到bison,生成的解析器接受的语言与语法描述完全一致。而GLR解析允许将任何语法交给bison,它会在解析时解决冲…

张小明 2026/1/10 15:35:12 网站建设

本机iis发布网站后台管理房产信息网上自助查询

Qwen3-VL:实现图文无缝融合的统一多模态建模 在当前人工智能的发展浪潮中,一个明显的趋势是模型正从单一文本理解迈向对视觉、语言、动作等多模态信息的综合处理。然而,尽管大语言模型(LLM)在纯文本任务上表现惊艳&…

张小明 2026/1/10 10:29:16 网站建设