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

虚拟网站仿制教程中国十大网站有哪些

虚拟网站仿制教程,中国十大网站有哪些,佛山网络优化推广公司,网站的优势文章目录 前言一、如何限流#xff1f;二、使用步骤总结 前言 限流的意义 限流是针对于并发量比较高的时候#xff0c;如果不针对对应的服务做限流操作#xff0c;可能造成服务器压力过大#xff0c;宕机等情况. 一、如何限流#xff1f; 限流的方式#xff1a; 计数… 文章目录 前言一、如何限流二、使用步骤总结 前言 限流的意义 限流是针对于并发量比较高的时候如果不针对对应的服务做限流操作可能造成服务器压力过大宕机等情况. 一、如何限流 限流的方式 计数器算法Counter –设计一个计数器比如一个全局的变量每次请求后1并且在限定时间内比如一分钟将计数器重置一次。当每次请求时查看计数器是否已经为临界值了是就限流。但是这个有个缺点就是比如在55秒前没有请求在55-70秒时有20000次请求而计数器的临界值则是10000此时的在60秒时清空了一次这20000次的请求也是可以进来的。 漏桶算法Leaky Bucket –就是所有的请求都放到gateway中然后再去一个一个分发下去到对应的服务这样做的缺点就是在大量数据的请求下可能gateway根本无法承受而下游的服务依然在空闲当中或是毫无压力。 令牌桶算法Token Bucket –设计一定数量的令牌每次请求都会取一个令牌并且令牌桶会根据规则自动生成令牌。大量请求过来时超过了限定的值桶里的令牌瞬间被抢空剩下没有拿到令牌的请求将会失败并且桶中的令牌一直是有序增加的剩下的请求也能抢到。目前这是一种最优的解决方案。 二、使用步骤 Gateway的令牌桶算法实现 Gateway中的限流算法就是采用了令牌桶算法支持三种令牌桶算法基于URI限流、基于请求参数限流、基于IP限流。 引入依赖 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-gateway/artifactId /dependency dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId /dependency !--redis支持-- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis-reactive/artifactId /dependency添加配置信息 server:port: 9003 eureka:client:fetch-registry: true # 从 eureka 服务端获取注册信息register-with-eureka: true # 将自身注册到 eureka 服务端service-url:defaultZone: http://localhost:9000/eurekainstance:prefer-ip-address: true # 开启采用 IP 注册形式 spring:application:name: flowershop-gatewaycloud:gateway:routes:- id: gateway-flower #路由id唯一uri: lb://flowershop-common #路由地址针对哪个服务的路由predicates: #断言- Path/** filters:# 指定限流过滤器- name: RequestRateLimiterargs:# 基于令牌桶算法生成令牌的速率redis-rate-limiter.replenishRate: 1# 令牌桶的最大容量redis-rate-limiter.burstCapacity: 1# 指定生成令牌的算法解析策略这里是使用了SpEL表达式获取寻找名字是 keyResolver 的bean对象key-resolver: #{keyResolver}redis:host: 192.168.3.52database: 0port: 6379password:jedis:pool:max-idle: 100max-wait:min-idle: 5timeout: 500令牌算法 Gateway中有多种限流策略通过URI进行限流、通过请求参数限流、通过IP地址限流但是我们只可以去实现其中一种。可以去实现 KeyResolver 接口 可以有多种方式实现在启动类中实现、使用配置类实现 这里我们使用配置类 /*** 令牌桶算法中令牌的生成算法*/ Configuration public class KeyResolverConfiguration{Beanpublic KeyResolver keyResolver() {return new KeyResolver() {Overridepublic MonoString resolve(ServerWebExchange exchange) {// 这里根据请求【URI】进行限流return Mono.just(exchange.getRequest().getPath().toString());}};}// Bean // public KeyResolver keyResolver() { // return new KeyResolver() { // Override // public MonoString resolve(ServerWebExchange exchange) { // // 这里根据请求【请求参数username】进行限流 // return Mono.just(exchange.getRequest().getQueryParams().getFirst(username)); // } // }; // } // // Bean // public KeyResolver keyResolver() { // return new KeyResolver() { // Override // public MonoString resolve(ServerWebExchange exchange) { // // 这里根据请求【IP地址】进行限流 // return Mono.just(exchange.getRequest().getRemoteAddress().getHostName()); // } // }; }总结 一般情况下,项目中都会用到redis作为缓存,既然这样,我们完全可以用redis做gateway限流处理,可以减少sential插件的引入以及学习成本,何不美哉~
http://www.zqtcl.cn/news/246157/

相关文章:

  • 网站建设后期维护流程车培训网站建设
  • 云南建设企业网站wordpress用户角色权限
  • 代码做网站常用单词成品短视频网站源码搭建
  • 北京网站建设推四川省建设厅燃气网站
  • 网站 功能呢网站建设设计师的工作内容
  • 网站设计素材包微信公众号平台官网免费注册
  • 做设计灵感的网站网站网站建设
  • 华强北附近网站建设电商网站建设规划
  • 泰和网站制作长尾词排名优化软件
  • 国外做的好的鲜花网站万网二手已备案域名
  • 那个网站做的系统最好开奖视频网站开发
  • 学设计的网站推荐南京做网站南京乐识专业
  • 企业网站建设调查问卷重庆网站制作外包
  • 要建设一个网站需要什么北京优化网站公司
  • 多语言网站建设方案大同建设网站
  • 测网站打开的速度的网址wordpress 逻辑代码
  • 网站代码开发徐州网站建设青州陈酿
  • 建网站的软件有哪些做网站怎么挣钱赚钱
  • 徐州市建设局招投标网站谷歌网站的主要内容
  • 门户网站建设工作情况汇报花店网站建设课程设计论文
  • 长春绿园网站建设哪里制作企业网站
  • 建设网站计划ppt模板核酸二维码
  • 宁波网络推广制作seo关键词推广公司
  • 东莞市网站推广西安推广公司无网不胜
  • 全国网站建设有实力建筑人才网123
  • 海安网站设计公司网站开发好学嘛
  • 网站建设深圳公司上海贸易公司注册条件
  • 深圳市坪山新区建设局网站给别人做网站去掉版权
  • 怎么做监测网站的浏览量有没有专业做股指的评论网站
  • 济南微信网站开发网上效果代码网站可以下载吗