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

河北pc端网站建设企业网站东莞网站建设制作

河北pc端网站建设,企业网站东莞网站建设制作,网站怎么优化到首页,哈尔滨住房和城乡建设信息网官网Spring Cloud(微服务)学习篇(七) 1.使用代码的方式实现流量限制规则 1.1 变更SentinelController类 1.1.1 加入的代码 //流控限制 (一个或多个资源限流), postConstruct注解的作用是保证项目一启动就会加载,// 一个rule就是一个规则PostConstructpublic void FlowRule(){Li…Spring Cloud(微服务)学习篇(七) 1.使用代码的方式实现流量限制规则 1.1 变更SentinelController类 1.1.1 加入的代码 //流控限制 (一个或多个资源限流), postConstruct注解的作用是保证项目一启动就会加载,// 一个rule就是一个规则PostConstructpublic void FlowRule(){ListFlowRule rules new ArrayListFlowRule();FlowRule rule new FlowRule();rule.setResource(find);//资源名// set limit qps to 10rule.setCount(7);//并发数 1s钟最多执行次数rule.setGrade(RuleConstant.FLOW_GRADE_QPS);rule.setLimitApp(default);rules.add(rule);FlowRuleManager.loadRules(rules);}1.2.1 完整的SentinelController类代码 package com.zlz.controller;import com.alibaba.csp.sentinel.annotation.SentinelResource; 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.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import javax.annotation.PostConstruct; import java.util.ArrayList; import java.util.List;RestController public class SentinelController {int count0;SentinelResource(find)//资源名称和下方一致RequestMapping(find)public String find(){count;System.out.println(进入用户查询方法);return 查询用户:count;}//流控限制 (一个或多个资源限流), postConstruct注解的作用是保证项目一启动就会加载,// 一个rule就是一个规则PostConstructpublic void FlowRule(){ListFlowRule rules new ArrayListFlowRule();FlowRule rule new FlowRule();rule.setResource(find);//资源名// set limit qps to 10rule.setCount(7);//并发数 1s钟最多执行次数rule.setGrade(RuleConstant.FLOW_GRADE_QPS);rule.setLimitApp(default);rules.add(rule);FlowRuleManager.loadRules(rules);} }1.2 测试 1.2.1 查看Mysql服务是否打开(只有mysql服务打开,启动nacos窗口才正常) 1.2.2 启动nacos服务 1.2.3 启动Sentinel控制台项目 a 找到sentinel控制台jar包所在的位置➡输入java -jar sentinel-dashboard.jar➡回车 b 回车后的界面 c 通过浏览器登录进入Sentinel后台界面 c.1 在浏览器输入地址localhost:8080后跳转的页面 c.2 输入账户和密码后跳转的页面 1.2.4 启动用户服务 1.2.5 点击刷新Sentinal控制台界面➡点击shop-user➡流控规则 1.2.6 点击编辑 1.2.7 点击编辑按钮后跳转的页面 2 对流量限流给出友好提示 2.1 定义方法的形式 2.1.1 更新SentinelController类 a 加入的代码 // blockHandler就是 限流了应该怎么处理,通常是用于查询的请求,因为这样做本质上是丢弃了这个请求 // 必须要有BlockException e //需要与原来方法(find方法)的返回值一模一样 //①新增xlHandler方法public String xlHandler(BlockException e){//请求太多放弃掉 查询return 当前访问人数过多 请稍后再试;} //② 在find方法的SentinelResource注解里面加上blockHandler xlHandlerb 完整的SentinelController类 package com.zlz.controller;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 com.zlz.handler.SentinelHandler; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import javax.annotation.PostConstruct; import java.util.ArrayList; import java.util.List;RestController public class SentinelController {int count0;//blockHandler指定的是方法SentinelResource(valuefind,blockHandler xlHandler)//资源名称和下方一致RequestMapping(find)public String find(){count;System.out.println(进入用户查询方法);return 查询用户:count;}//流控限制 (一个或多个资源限流), postConstruct注解的作用是保证项目一启动就会加载,// 一个rule就是一个规则PostConstructpublic void FlowRule(){ListFlowRule rules new ArrayListFlowRule();FlowRule rule new FlowRule();rule.setResource(find);//资源名// set limit qps to 10rule.setCount(7);//并发数 1s钟最多执行次数rule.setGrade(RuleConstant.FLOW_GRADE_QPS);rule.setLimitApp(default);rules.add(rule);FlowRuleManager.loadRules(rules);}// blockHandler就是 限流了应该怎么处理 //必须要有BlockException e,若find方法有形参,那么这个方法也得有相应顺序的形参,但是最后一个形参一定是e //需要与原来方法(find方法)的返回值一模一样public String xlHandler(BlockException e){//原理是请求太多放弃掉查询return 当前访问人数过多 请稍后再试;} } 2.1.2 测试 a 重新启动用户服务 b jemeter压力测试 b.1 添加线程组 b.2 编辑线程组 b.3 创建HTTP请求 b.4 编辑HTTP请求 b.5 在线程组下面创建结果树 b.6 点击绿色按钮➡点击NO按钮 b.7 点击前7个的HTTP请求的任意一个,都是正常访问 b.8 点击后三个的HTTP请求的任意一个,都是显示当前访问人数过多,请稍后再试 2.2 定义类的方式(处理方法在类中) 2.2.1 在zlz包下创建handler包并创建SentinelHandler类 package com.zlz.handler;import com.alibaba.csp.sentinel.slots.block.BlockException;public class SentinelHandler {//这个方法必须是静态方法public static String xlHandler(BlockException e){//请求太多放弃掉 查询return 当前访问人数过多 请稍后再试;} }2.2.2 更新SentinelController类 a 加入的代码 //① 在find方法的SentinelResource注解里面加上blockHandler xlHandler blockHandlerClass SentinelHandler.classb 完整的SentinelController类 package com.zlz.controller;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 com.zlz.handler.SentinelHandler; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import javax.annotation.PostConstruct; import java.util.ArrayList; import java.util.List;RestController public class SentinelController {int count0;SentinelResource(valuefind,blockHandler xlHandler,blockHandlerClass SentinelHandler.class)//资源名称和下方一致RequestMapping(find)public String find(){count;System.out.println(进入用户查询方法);return 查询用户:count;}//流控限制 (一个或多个资源限流), postConstruct注解的作用是保证项目一启动就会加载,// 一个rule就是一个规则PostConstructpublic void FlowRule(){ListFlowRule rules new ArrayListFlowRule();FlowRule rule new FlowRule();rule.setResource(find);//资源名rule.setCount(7);//并发数 1s钟最多执行次数rule.setGrade(RuleConstant.FLOW_GRADE_QPS);rule.setLimitApp(default);rules.add(rule);FlowRuleManager.loadRules(rules);} }2.2.2 测试 a 重新启动用户服务 b jemeter压力测试 b.1 清除之前的结果 b.2 重新点击绿色按钮➡点击NO按钮 b.3 点击前7个的HTTP请求的任意一个,都没有限流提示 b.4 点击后三个的HTTP请求的任意一个,都有限流提示
http://www.hkea.cn/news/14415179/

相关文章:

  • 做阀门网站效果怎么样英文网站 模板
  • 成品网站w灬源码1688用自己的名字设计头像
  • 越秀公司网站建设郑州网站关键词优化公司
  • 工厂的网站在哪里做的php做的购物网站
  • 网站session 验证网上书店网站建设规划书
  • 网站建设流程公司十堰秦楚网公众号
  • 在网站里面如何做支付工具网站关闭了域名备案
  • 手机搞笑网站模板下载安装seo系统
  • 精品网站建设费用 地址磐石网络长沙网站推广系统
  • 广州网站推广哪家强做wordpress模板赚钱
  • 哪些网站专门做细胞的东莞做网站做seo优化外包网络公司
  • 简约网站建设公司wordpress移植数据库
  • 深圳wap网站建设公司铁岭网站建设移动网站
  • 最新淘宝客网站程序wordpress微信h5
  • 郑州网站建设三猫网络静态网页的特点
  • 网站竞争对手如何做调研哈尔滨网站建设教程
  • 好学校平台网站模板now9999网站提示建设中
  • 邯郸市永年区做网站的公司傻瓜网站开发软件
  • 做外销网站百度的网站建设代码
  • 宿迁城乡住房建设厅网站徐州网络科技有限公司
  • 天津网站建设 易尔通成品短视频app下载有哪些软件在线观看
  • 服务器win7网站建设网站建设目的和意义
  • 青岛wordpress建站门户网站的优点
  • 家装网站做网站开发流程6个阶段
  • 房产网站制作公司石家庄广告制作公司
  • 建网站问题网站开发工作量
  • 四川省四川省住房和城乡建设厅网站品牌网球拍有哪些
  • 旅行社手机网站建设义乌外贸建站
  • 怎样给网站做备案软件下载网站如何履行安全管理义务确保提供的软件
  • 做礼品建什么网站设计网站做多大合适