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

梵客联盟seo免费培训教程

梵客联盟,seo免费培训教程,什么是网站建设方案,附近少儿编程培训班🚓 主要讲解流控模式的 三种方式中的两种: 直接、链路🚀 1️⃣ 直接模式 🚎 直接模式:对资源本身进行限流,例如对某个接口进行限流,当该接口的访问频率超过设定的阈值时,直接拒绝新的…

🚓 主要讲解流控模式的 三种方式中的两种: 直接、链路🚀

1️⃣ 直接模式

🚎 直接模式:对资源本身进行限流,例如对某个接口进行限流,当该接口的访问频率超过设定的阈值时,直接拒绝新的请求。

接口限流➡️ :对某个接口进行限流,例如对订单创建接口进行限流,当该接口的访问频率超过设定的阈值时,直接拒绝新的请求。

实现步骤: 

1️⃣ 引入依赖:在项目中引入 Sentinel 相关依赖如com.alibaba.csp.sentinel.annotation.SentinelResource  等

2️⃣ 定义资源:指定要限流的资源名称,像示例中的 createOrder。

3️⃣ 配置规则:

import com.alibaba.csp.sentinel.annotation.SentinelResource;
import com.alibaba.csp.sentinel.slots.block.BlockException;
import com.alibaba.csp.sentinel.slots.block.RuleConstant;
import com.alibaba.csp.sentinel.slots.block.flow.FlowRule;
import com.alibaba.csp.sentinel.slots.block.flow.FlowRuleManager;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
public class OrderService {private static final String RESOURCE_NAME = "createOrder";@PostConstructprivate void initFlowRules() {List<FlowRule> rules = new ArrayList<>();FlowRule rule = new FlowRule();rule.setResource(RESOURCE_NAME);rule.setGrade(RuleConstant.FLOW_GRADE_QPS);rule.setCount(10);rule.setControlBehavior(RuleConstant.CONTROL_BEHAVIOR_DEFAULT);rule.setLimitApp("default");rules.add(rule);FlowRuleManager.loadRules(rules);}@SentinelResource(value = RESOURCE_NAME, blockHandler = "createOrderBlockHandler")public String createOrder(String orderInfo) {return "订单创建成功: " + orderInfo;}public String createOrderBlockHandler(String orderInfo, BlockException ex) {return "请求过于频繁,请稍后再试!当前订单信息: " + orderInfo;}

上述代码在 OrderService 类中,initFlowRules 方法初始化限流规则,设置资源为 createOrder,基于 QPS 限流,阈值 10。createOrder 方法是业务逻辑,被限流时 createOrderBlockHandler 方法返回友好提示。

2️⃣ 链路模式

🚫 链路流控(Link Flow Control)是指对资源调用关系的入口进行流量控制。与普通流控不同,链路流控关注的是入口资源和被调用资源之间的关系。

使用步骤🚲

1️⃣ 在配置文件中启用链路流控模式

spring:cloud:sentinel:web-context-unify: false # 必须设置为false才能启用链路流控

 2️⃣ 定义流控规则

控制台:在Sentinel控制台中定义链路流控规则,指定入口资源和被调用资源的关系,以及流控规则。

import com.alibaba.csp.sentinel.slots.block.flow.FlowRule;
import com.alibaba.csp.sentinel.slots.block.flow.FlowRuleManager;
import javax.annotation.PostConstruct;
import java.util.Collections;public class LinkFlowRuleConfig {private static final String ENTRY_RESOURCE = "orderWeb";private static final String TARGET_RESOURCE = "orderService";@PostConstructpublic void initLinkFlowRules() {FlowRule rule = new FlowRule();rule.setResource(TARGET_RESOURCE); // 被保护的资源rule.setGrade(RuleConstant.FLOW_GRADE_QPS); // 基于QPSrule.setCount(10); // 阈值rule.setLimitApp(ENTRY_RESOURCE); // 限制的入口资源FlowRuleManager.loadRules(Collections.singletonList(rule));}
}

这里定义入口资源 orderWeb 和被保护资源 orderService,设置基于 QPS 阈值 10 的限流规则 ✌️

3️⃣ 业务代码适配example

import com.alibaba.csp.sentinel.Entry;
import com.alibaba.csp.sentinel.SphU;
import com.alibaba.csp.sentinel.slots.block.BlockException;
import org.springframework.stereotype.Service;@Service
public class OrderService {public String createOrder(String orderInfo) {// 1. 定义入口资源try (Entry entry = SphU.entry("orderWeb")) {// 2. 实际业务处理return doCreateOrder(orderInfo);} catch (BlockException e) {// 3. 处理流控逻辑return "创建订单请求被限流";}}@SentinelResource(value = "orderService", blockHandler = "orderServiceBlockHandler")private String doCreateOrder(String orderInfo) {// 业务逻辑return "订单创建成功: " + orderInfo;}public String orderServiceBlockHandler(String orderInfo, BlockException ex) {return "订单服务繁忙,请稍后再试";}
}

🈲 链路流控的注意事项

  1. 入口资源定义:必须明确定义入口资源,通常使用SphU.entry()@SentinelResource注解

  2. 配置要求:必须设置 🚑 spring.cloud.sentinel.web-context-unify=false


文章转载自:

http://vV4cFENT.rhjsx.cn
http://kWLUe3Hx.rhjsx.cn
http://DsgNJwvx.rhjsx.cn
http://7CDML2A1.rhjsx.cn
http://GelfuCpx.rhjsx.cn
http://5A60i3cK.rhjsx.cn
http://gqcL4m65.rhjsx.cn
http://A8FXWkHN.rhjsx.cn
http://8rA1F5ET.rhjsx.cn
http://VWC0oDx5.rhjsx.cn
http://QtyTdciF.rhjsx.cn
http://RjupkHM5.rhjsx.cn
http://GrCi10u3.rhjsx.cn
http://VwLPGPKI.rhjsx.cn
http://SGOauVfa.rhjsx.cn
http://Qhe9ZOG1.rhjsx.cn
http://nmknOXA9.rhjsx.cn
http://r7JmOT4D.rhjsx.cn
http://HxAjsiN2.rhjsx.cn
http://6wQdKHzT.rhjsx.cn
http://w4IkgXfJ.rhjsx.cn
http://313hReU9.rhjsx.cn
http://0915s3ei.rhjsx.cn
http://Ud7mQHbR.rhjsx.cn
http://2t2lYSa9.rhjsx.cn
http://8Z0cYvGt.rhjsx.cn
http://2VBSNHCC.rhjsx.cn
http://Ku1Hew9H.rhjsx.cn
http://SVTaaon0.rhjsx.cn
http://EOZgy4aG.rhjsx.cn
http://www.dtcms.com/wzjs/630999.html

相关文章:

  • 专业电商网站建设多少钱开源建站软件
  • 西部数码网站管理助手serv-u默认密码加工网袋的设备多少钱
  • 三亚旅游网站建设做网站公司昆明
  • 网站顶部公告代码wordpress 调用文章列表
  • 徐州开发区中学网站网站建设影音先锋网址
  • 章丘哪里有建设网站的打开小程序入口直接进入
  • 创业园网站建设wordpress网页手机版
  • 网站备案填了虚假座机能过吗潍坊市企业网站建设
  • 有没有免费做编辑网站管理系统农村自建房设计图片大全
  • 织梦如何做网站wordpress如何换图片不显示不出来
  • 泉州专业网站开发公司wordpress新闻站自动采集
  • 微信建站网站开发公司不动产登记费入什么科目
  • 如何进行网站icp备案搜索指数查询平台
  • 百度建网站seo优化网站技术排名百度推广
  • 网站是怎样建立的流程是什么郴州建设工程建设信息网站
  • php网站建设安装环境本地房产交易信息网
  • 绩溪做网站无锡网站建设无锡速联科技
  • 直接通过ip访问网站wordpress文章阅读数更改
  • 大学生做兼职的网站有哪些网站风格和功能设计方案
  • 福州仓前网站建设网站备案免费吗
  • 永州 网站建设表格制作excel
  • 网站建设具体步骤应该怎么做wordpress注册邮件内容
  • 国内建网站费用建网站中企动力最行
  • php网站开发实例视频教程wordpress国内速度优化
  • 跨境电商网站如何做推广方案网站赏析案例
  • seo黑帽2022网络优化的工作内容有哪些
  • 太原seo网站优化百度打广告收费表
  • ftp网站怎么建立专门做食品的网站
  • 公司网站创建邯郸建设局网站
  • 网站后台账号密码辽宁省建设银行网站