西安网站开发哪家好租一个服务器要多少钱

张小明 2026/1/8 21:36:21
西安网站开发哪家好,租一个服务器要多少钱,百能网是哪家公司做的网站,河南网站建设哪里好Sentinel介绍 随着微服务的流行#xff0c;服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件#xff0c;主要以流量为切入点#xff0c;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多…Sentinel介绍随着微服务的流行服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件主要以流量为切入点从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。Sentinel 社区正在将流量治理相关标准抽出到 OpenSergo spec 中Sentinel 作为流量治理标准实现Sentinel规则类型针对Sentinel的规则重新学习下详细使用文档参见 官方文档规则类型核心作用维度典型应用场景触发后果作用流控规则 (Flow)限制流量 (QPS/线程数)秒杀限流、防止突发流量冲垮系统请求被拒绝/排队等待防刷、防过载熔断规则 (Degrade)依赖稳定性 (响应时间/异常)调用第三方接口超时、数据库慢查询暂停请求快速失败熔断防雪崩、防依赖故障热点规则 (Param)参数粒度 (特定参数值)某个热门商品被疯狂刷其他商品正常访问限制特定参数的访问频率防热点数据击穿系统规则 (System)整体负载 (CPU/Load/RT)大促期间防止机器过载保护系统基线拒绝部分请求保护机器不挂防机器挂掉授权规则 (Auth)来源控制 (黑白名单)防止某个恶意 IP 或非法应用调用接口允许或拒绝请求防非法调用流控规则(Flow Control)最常用的规则主要用于限流有如下2种模式QPS 模式每秒允许多少个请求通过。超过阈值则拦截。线程数模式限制同时处理该资源的线程数量。除了简单的直接拒绝它还有两种高级策略Warm Up (预热)比如系统刚启动像冷车一样不能直接拉满油门。预热模式会在一定时间内逐渐将阈值从低升到高防止瞬间流量把刚启动的服务打挂。排队等待 (Queueing)不直接拒绝请求而是让请求按照设定的时间间隔匀速通过像检票口一样用于处理突发的脉冲流量。熔断规则 (Circuit Breaker)关注服务的质量。当它发现某个服务调用“不健康”时会直接切断连接防止连锁故障雪崩。Sentinel 支持三种策略慢调用比例如果一个接口的平均响应时间RT太长比如超过 1 秒且比例达到阈值就熔断。适用于对响应速度敏感的场景。异常比例如果请求中出现的异常如抛出 RuntimeException比例过高就熔断。异常数统计时间内出现的异常总数超过阈值直接熔断。熔断是“宁可错杀一百不可放过一个”的保护机制。触发后所有请求直接走“降级逻辑”fallback不再调用下游真实服务直到经过一段“冷却时间”后尝试恢复热点规则 (Hotspot Param)流控规则的高级版它能把限流的粒度细化到方法参数级别。通常情况下流控是对整个接口如/getProduct限流。但热点规则可以做到当参数id1的时候限流 100 QPS而id2的时候不限流关注的是“不均匀”。在实际场景中可能只有某个特定的“爆款”商品热点 key流量巨大导致数据库压力大。如果对整个接口限流会误伤其他正常的商品查询。热点规则就是为了解决这种“贫富不均”的问题系统规则 (System Protection)全局视角的规则它不针对某个具体的接口而是针对整个应用实例的系统指标。它监控的指标包括Load仅 Linux/Unix系统平均负载。CPU 使用率。入口 QPS。线程数。平均 RT。“保底”机制。通常在单机的 QPS 或负载过高时触发目的是让系统整体保持在一个稳定的水位防止机器直接死机。它是一种兜底的保护通常配置的阈值会比机器的极限处理能力稍微保守一点授权规则 (Authority Rule)黑白名单机制用于控制“谁可以调用”。它通过SentinelContext中的origin来源标识来判断。通常用来识别调用方的服务名、IP 地址等。 关注的是“身份”可以使用黑名单 或白名单限制Spring boot 4如何集成Sentinel本次采用SentinelResource AOP 方式集成 Sentinel添加依赖dependencygroupIdcom.alibaba.csp/groupIdartifactIdsentinel-core/artifactIdversion1.8.9/version/dependencydependencygroupIdcom.alibaba.csp/groupIdartifactIdsentinel-parameter-flow-control/artifactIdversion1.8.9/version/dependencydependencygroupIdcom.alibaba.csp/groupIdartifactIdsentinel-annotation-aspectj/artifactIdversion1.8.9/version/dependencydependencygroupIdcom.alibaba.csp/groupIdartifactIdsentinel-transport-simple-http/artifactIdversion1.8.9/version/dependency编写相关的测试代码SentinelConfig类ConfigurationpublicclassSentinelConfig{PostConstructpublicvoidinitFlowRules(){ListFlowRulerulesnewArrayList();FlowRulerulenewFlowRule();rule.setResource(HelloWorld);rule.setGrade(RuleConstant.FLOW_GRADE_QPS);// Set limit QPS to 20.rule.setCount(10);rules.add(rule);FlowRuleManager.loadRules(rules);}PostConstructpublicvoidinitDegradeRules(){ListDegradeRulerulesnewArrayList();DegradeRulerulenewDegradeRule();rule.setResource(HelloWorld);rule.setGrade(RuleConstant.DEGRADE_GRADE_RT);// RT threshold degrade strategyrule.setCount(200);// Max response time (ms)rule.setTimeWindow(10);// Recovery timeout period in secondsrules.add(rule);DegradeRuleManager.loadRules(rules);}BeanpublicSentinelResourceAspectsentinelResourceAspect(){returnnewSentinelResourceAspect();}}HelloWorldServiceServicepublicclassHelloWorldService{SentinelResource(valueHelloWorld,entryTypeEntryType.IN,exceptionsToIgnore{IllegalStateException.class},blockHandlerhandleBlock,fallbackhandleFallback)publicStringsayHello(Stringname){returnHello, name;}publicStringhandleBlock(Stringname,BlockExceptionex){returnRequest blocked by Sentinel: ex.getClass().getSimpleName();}publicStringhandleFallback(Stringname,Throwablet){returnRequest failed and handled by fallback: t.getClass().getSimpleName();}}HelloWorldControllerRestControllerRequestMapping(/api)Tag(name登录接口)publicclassHelloWorldController{AutowiredprivateHelloWorldServicehelloWorldService;GetMapping(/hello)Operation(summaryhello)publicStringsayHello(RequestParam(valuename,defaultValueWorld)Stringname){returnhelloWorldService.sayHello(name);}}SpringBootTestSlf4jpublicclassSentinelTest{AutowiredHelloWorldServicehelloWorldService;privateAtomicIntegersuccessCountnewAtomicInteger(0);privateAtomicIntegerblockCountnewAtomicInteger(0);privateAtomicIntegerfallbackCountnewAtomicInteger(0);BeforeEachpublicvoidsetUp()throwsException{// Reset counters before each testsuccessCount.set(0);blockCount.set(0);fallbackCount.set(0);}TestpublicvoidtestRateLimitingAndDegradation()throwsInterruptedException{log.info(准备测试...............);TimeUnit.SECONDS.sleep(5);log.info(开始测试...............);intnumberOfThreads30;// Number of concurrent threadsExecutorServiceexecutorServiceExecutors.newFixedThreadPool(numberOfThreads);CountDownLatchlatchnewCountDownLatch(numberOfThreads);for(inti0;inumberOfThreads;i){executorService.submit(()-{try{StringresulthelloWorldService.sayHello(TestUser);if(result.contains(blocked)){blockCount.incrementAndGet();}elseif(result.contains(failed)){fallbackCount.incrementAndGet();}else{successCount.incrementAndGet();}}catch(Exceptionex){System.out.println(ex.getMessage());fallbackCount.incrementAndGet();}finally{latch.countDown();}});}latch.await();// Wait until all threads have completedlog.info(Success count: successCount.get());log.info(Blocked count: blockCount.get());log.info(Fallback count: fallbackCount.get());// Assuming the flow rule is set to allow up to 20 requests per secondassertsuccessCount.get()20:Number of successful requests should not exceed 20;assertblockCount.get()0:Some requests should be blocked due to rate limiting;assertfallbackCount.get()0:No requests should go to fallback under normal conditions;executorService.shutdown();}}启动程序启动sentinel-dashboardjava-Dserver.port8858-Dcsp.sentinel.dashboard.serverlocalhost:8858-Dproject.namesentinel-dashboard-Dsentinel.dashboard.auth.usernamesentinel-Dsentinel.dashboard.auth.password123456-Dserver.servlet.session.timeout7200-jar sentinel-dashboard-1.8.9.jar启动Springboot注意在启动时需要添加VM参数-Dcsp.sentinel.dashboard.serverlocalhost:8858界面展示通过界面可以针对规则进行修改保存后可以立即生效附录限流常见配置参数速查表概念说明适用场景QPS每秒查询率大促抢购、防止刷单线程数并发占用线程数保护慢接口不占用所有线程池快速失败超过阈值直接报错默认策略简单粗暴Warm Up预热模式阈值缓慢升高系统刚启动防止瞬间高流量压垮排队等待请求匀速通过处理不急的请求订单创建等需要削峰填谷的场景Token Server Cluster 部署方式对比特性嵌入模式 (Embedded)独立模式 (Alone)部署成本低(利用现有资源)高(需要独立机器)隔离性差 (与业务争抢资源)好(完全隔离)适用场景中小规模集群、对成本敏感超大规模集群、核心中间件、全局限流容灾能力依赖应用集群的稳定性强(通常有主从热备)运维难度简单较复杂 (需维护 Server 集群)与springboot及springcloud版本对应关系Spring Boot 版本对应的 Spring Cloud Alibaba (SCA) 版本对应的 Sentinel 版本状态2.3.x2.2.x.RELEASE1.7.x / 1.8.0旧版已不再主推2.4.x, 2.5.x, 2.6.x, 2.7.x2021.x (如 2021.0.5.0)1.8.5 / 1.8.6目前最主流的生产环境组合3.0.x, 3.1.x2022.0.0.0 (or 2022.0.0.0-RC2)1.8.6 (有限支持)注意原生 Web 适配器不支持需用 Gateway 或特定适配Sentinel通过 Spring Cloud Alibaba实际上支持 Spring Boot 2.x 的全系版本Spring Boot 3.0 的变化Spring Boot 3.0 强制要求 Java 17并且将底层的javax.servlet(Java EE) 迁移为了jakarta.servlet(Jakarta EE)。Sentinel 对 Spring Boot 的支持在3.0上遇到了“断层”这才是目前版本选择的核心痛点Sentinel 的现状Sentinel-core / sentinel-web-servlet目前的主流稳定版本如 1.8.x底层依然使用的是javax.servlet.Filter。sentinel-spring-webmvc-adapter 目前使用的 springboot 2.5.x版本servlet.api版本是3.1.0不兼容这意味着如果你直接使用原生的sentinel-web-servlet依赖它是无法运行在 Spring Boot 3.0环境下的会报ClassNotFoundException找不到 javax 包
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站收录提交工具农业网站建设公司

配置 FreeBSD 拨号上网连接 在当今数字化时代,网络连接是我们生活和工作中不可或缺的一部分。对于使用 FreeBSD 系统的用户来说,配置拨号上网连接可能是一项具有挑战性但又十分必要的任务。本文将详细介绍如何在 FreeBSD 系统中配置拨号上网连接,包括所需的步骤、文件配置以…

张小明 2026/1/8 9:49:40 网站建设

个人备案做视频网站陕西建设工程合同备案网站

翔鹭钨业再生利用:HeyGem制作废旧刀具回收流程视频 在制造业迈向智能化与绿色化的今天,一个看似不起眼的环节——废旧刀具回收,正悄然成为衡量企业可持续发展能力的重要标尺。钨作为国家战略资源,其再生利用率直接影响生产成本与…

张小明 2026/1/8 9:49:35 网站建设

手机p2p网站开发用jsp做的网站有哪些

一、核心区别一句话项目助动词补助动词本质纯语法功能词原本是动词,变成“动作附加语法”是否能单独作谓语❌❌(通常也不能单独用)是否活用✅✅位置动词 / 形容词 / 名词后动词て形或连用形后作用改变句子语法意义(时态、否定、推…

张小明 2026/1/8 4:46:30 网站建设

微信客户端网站建设网站设计标准

Android自动化测试终极指南:uiautomator2快速入门教程 【免费下载链接】uiautomator2 Android Uiautomator2 Python Wrapper 项目地址: https://gitcode.com/gh_mirrors/ui/uiautomator2 想要快速掌握Android自动化测试吗?uiautomator2作为最强大…

张小明 2026/1/8 18:20:48 网站建设

青岛市建设安全监督站网站wordpress随机文章

DoL-Lyra整合包:5个关键问题解答与使用指南 【免费下载链接】DoL-Lyra Degrees of Lewdity 整合 项目地址: https://gitcode.com/gh_mirrors/do/DoL-Lyra 还在为游戏Mod安装烦恼吗?DoL-Lyra整合包为你提供了完整的解决方案,让复杂的Mo…

张小明 2026/1/8 16:16:04 网站建设

建设银行江苏官网招聘网站做网站的图片素材

你是不是每天都要浏览好几个科技网站,才能跟上最新的 AI、人工智能、机器人这些前沿动态? 有没有想过,把这些网站的更新自动抓取到一起,每天只看一个地方,还只显示一天内的最新内容? 今天我们就来动手做一…

张小明 2026/1/8 3:07:19 网站建设