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

百度网站如何优化排名太原建站网站模板

百度网站如何优化排名,太原建站网站模板,wordpress修改评论文本,电子商务网站建设与管理前言#xff1a; 为什么使用Sentinel#xff0c;这是一个高可用组件#xff0c;为了使我们的微服务高可用而生 我们的服务会因为什么被打垮#xff1f; 一#xff0c;流量激增 缓存未预热#xff0c;线程池被占满 #xff0c;无法响应 二#xff0c;被其他服务拖… 前言 为什么使用Sentinel这是一个高可用组件为了使我们的微服务高可用而生 我们的服务会因为什么被打垮 一流量激增    缓存未预热线程池被占满 无法响应 二被其他服务拖垮比如第三方的接口响应慢 三异常没有处理缓存击穿缓存穿透等等 总之而言系统缺乏可用性防护没有容错机制尤其是针对流量的防护会降低服务的可用性 服务雪崩首先是积分系统服务挂掉了一个系统不可用导致整个微服务系统都不可用 限制流量 熔断 服务的降级   A计划--B计划   积分服务就是一个弱依赖和整体的流程关联不大挂掉了也不会影响什么 有很多组件可以让我们进行流控、熔断、及降级从中我们选择了SpringCloudAlibaba为我们提供的Sentinel这个组件作为我们项目中的保证服务高可用的组件。 https://github.com/alibaba/spring-cloud-alibaba/wiki sentinel的说明文档 https://github.com/alibaba/spring-cloud-alibaba/blob/2.2.x/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/readme-zh.md sentinel的控制台 https://github.com/alibaba/Sentinel/wiki/%E6%8E%A7%E5%88%B6%E5%8F%B0 先了解一下如何接入 Sentinel dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-sentinel/artifactId /dependency 1. 下载控制台 jar包 https://github.com/alibaba/Sentinel/releases  下载控制台 jar 包。此处下载的是1.8.5 2.启动控制台 Sentinel 控制台是一个标准的 Spring Boot 应用以 Spring Boot 的方式运行 jar 包即可。 java -Dserver.port8080 -Dcsp.sentinel.dashboard.serverlocalhost:8080 -Dproject.namesentinel-dashboard -jar sentinel-dashboard-1.8.5.jar 注意下载的版本的区别不都是1.8.5 启动之后访问ip:8080 user/pwd sentinel/sentinel 在代码端客户端 pom中 dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-sentinel/artifactId/dependency/dependencies之后在application.yml文件中主要是spring.cloud.sentinel.transport.dashboard server:port: 8087 spring:application:name: order_nacos-sentinelcloud:nacos:server-addr: 127.0.0.1:8848discovery:username: nacospassword: nacosnamespace: publicsentinel:transport:dashboard: localhost:8080 我们写的服务需要访问一次才能在dashboard中显示 访问了下列地址每个地址一次之后 http://192.168.50.59:8087/order/getStock http://192.168.50.59:8087/order/test1 http://192.168.50.59:8087/order/test2 http://192.168.50.59:8087/order/flow 之后就可以发现 3.流控(直接流控) 1 QPS流控 给getStock设置一个QPS流控 设置为1 我们继续访问http://192.168.50.59:8087/order/getStock连续多点会出现以下 怎么改这个页面呢 指定的blockHandler方法要求 1.必须是public的  2.方法返回值必须和源方法相同 3.方法参数和源方法相同最后一个方法参数是BlockException 继续快速访问 这里出现了一个问题我的程序每次重新启动的时候流控规则都消失了因为现在这些规则是存放在内存中的没有做持久化 2线程数流控 也可以说是并发线程数流控 线程数流控和QPS流控有什么区别呢 以一个为例 qps为1的话代表每秒只允许有一个请求访问 并发线程数为1的话只要有一个线程访问这个线程没有访问结束那么其他线程就不能再次访问测试的时候用睡眠的方式来测试。 RequestMapping(/flow)SentinelResource(value getStock,blockHandler flowBlockException)public String flow(){try {TimeUnit.SECONDS.sleep(5);} catch (InterruptedException e) {throw new RuntimeException(e);}return QPS流控;}public String flowBlockException(BlockException e){return 并发线程数流控;} 如果不想用SentinelResource 那么我们可以写一个类实现BlockExceptionHandler Component Slf4j public class MyBlockException implements BlockExceptionHandler {Overridepublic void handle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, BlockException e) throws Exception {if(e instanceof BlockException){log.error(被流控了 e.getRule());}else if(e instanceof DegradeException){log.error(被降级了 e.getRule());}httpServletResponse.getWriter().print(e.getRule());// new ObjectMapper().writeValue(httpServletResponse.getWriter(),e.getRule());}流控规则一般在服务的提供方降级规则设置在服务的消费端。 4.关联流控 当关联资源1被设置了以后限流以后限制的不是自己而是资源2的流控 这里会用到Jmeter这个测试工具关于JMeter中文的设置使用之前一定要配置好jdk 性能测试2 测试工具 -- JMeter 安装和中文设置-腾讯云开发者社区-腾讯云 这里多写了一个简单的/add接口 启动测试计划以后访问http://127.0.0.1:8087/order/getStock 访问不了显示被流控了 5.链路流控 想要使用这个功能配置文件中必须设置spring.cloud.sentinel.web-context-unify 这个属性值默认为true表示收敛调用链路的。 spring.cloud.sentinel.web-context-unifyfalse 要说明的是进行流控的资源名不一定是controller中的接口也有可能是service中的方法 controller中 service中 Service Slf4j public class OrderService {SentinelResource(value aa,blockHandler aaBlockException)public String aa(){log.info(测试链路流控...);System.out.println(测试链路流控...);return 测试链路流控...;}public String aaBlockException(BlockException e){log.error(e.getRule() ~~~);return wawawawawwwawa;} }测试的过程中会发现test3接口怎么测试都不会发生变化test4访问速度过快就会显示wawawawawwwawa 6.流量效果 1.快速失败 2.warm up 预热 针对激增流量突然涌入进来打垮冷系统防止缓存击穿。刚开始QPS是阈值/3 经过填写的预热时间增长到阈值 Warm UpRuleConstant.CONTROL_BEHAVIOR_WARM_UP方式即预热/冷启动方式。当系统长期处于低水位的情况下当流量 突然增加时直接把系统拉升到高水位可能瞬间把系统压垮。通过冷启动让通过的流量缓慢增加在一定时间内逐渐 增加到阈值上限给冷系统一个预热的时间避免冷系统被压垮。 冷加载因子: codeFactor 默认是3即请求 QPS 从 threshold / 3 开始经预热时长逐渐升至设定的 QPS 阈值。 3.排队等待 针对脉冲流量 这种方式主要用于处理间隔性突发的流量例如消息队列。想象一下这样的场景在某一秒有大量的请求到来而接下 来的几秒则处于空闲状态我们希望系统能够在接下来的空闲期间逐渐处理这些请求而不是在第一秒直接拒绝多余的 请求。
http://www.hkea.cn/news/14268875/

相关文章:

  • 手机网站备案洛阳企业网站建设
  • 哪里有营销型网站制作百度推广时间段在哪里设置
  • 商务网站建设毕业设计模板下载c 做网站session用法
  • 民宿网站开发数据流图wordpress安装后应该删掉那些文件
  • 做网站普洱一六八互联网站建设
  • 做交易网站什么开发语言seo网络推广公司
  • 开发app需要什么样的团队网站建设价格很 好乐云seo
  • 做原创短视频网站如何做镜像网站
  • 注册工作室流程及费用乐云seo网站建设公司
  • 云南住房与建设厅网站做网站先学美工
  • 贴心的广州网站建设互联网营销师证书含金量
  • 公司产品展厅设计阳江优化网站排名
  • 线上营销模式优化营商环境存在问题及整改措施
  • 濮阳建站推广哪家好wordpress翠珠林
  • 网站建设后台wordpress编辑页面模板
  • 商会建设网站说明网站建设常态化工作机制
  • 龙岗网站优化培训成都建立网站的公司网站
  • 做网站的难点wordpress entware
  • 网站后台这么做怎样建设论坛网站
  • 链接制作网站哈尔滨网站设计哪家好
  • 艾特思成都网站建设网站建设视频教程
  • 开原网站开发网站模板文件扫描
  • 网站建设带主机为什么要进行网店装修
  • 宁乡县住房和城乡建设局网站网络优化网站建设学习
  • 济南网站设计价格建设工程公司是干什么的
  • 网站开发系统调研目的wordpress手机不能访问
  • 网站seo与网站没关大连华南网站制作公司
  • 自己随便玩玩的网站怎么建设php网站案例
  • 专业做室内设计的网站wordpress如何管理员密码
  • 如何做网站安全加固网站建设销售客户疑问