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

做网站需要什么样的电脑配置网页风格设计

做网站需要什么样的电脑配置,网页风格设计,网站都要icp备案吗,做外链哪个网站好一、GatewayFilter GatewayFilter 是一个简单的接口#xff0c;用于定义网关过滤器的行为。一个网关过滤器就是一个实现了 GatewayFilter 接口的类#xff0c;它可以执行在请求进入网关或响应离开网关时的某些操作。过滤器可以用于修改请求或响应#xff0c;记录日志#…一、GatewayFilter GatewayFilter 是一个简单的接口用于定义网关过滤器的行为。一个网关过滤器就是一个实现了 GatewayFilter 接口的类它可以执行在请求进入网关或响应离开网关时的某些操作。过滤器可以用于修改请求或响应记录日志添加头部信息等等。 public interface GatewayFilter {MonoVoid filter(ServerWebExchange exchange, GatewayFilterChain chain);}一个简单的自定义网关过滤器, public class MyFilter implements GatewayFilter, Ordered {Overridepublic MonoVoid filter(ServerWebExchange exchange, GatewayFilterChain chain) {exchange.getAttributes().put(start,System.currentTimeMillis());return chain.filter(exchange).then(Mono.fromRunnable(new Runnable() {Overridepublic void run() {long start exchange.getAttribute(start);System.out.println(exchange.getRequest().getURI() 执行耗时 (System.currentTimeMillis()-start));}}));}Overridepublic int getOrder() {return 0;} } 配置 Configuration public class MyConfig {/**配置自定义过滤器*/Beanpublic RouteLocator routeLocator(RouteLocatorBuilder builder) {return builder.routes().route(r -r.path(/provider/**)//用户访问的路径.uri(lb://service-provider)//路由的真实服务器ip端口.filters(new MyFilter()) // 局部过滤器.id(provider_route)) // 路由id.build();} } 二、AbstractGatewayFilterFactory AbstractGatewayFilterFactory 是一个抽象类用于更方便地创建网关过滤器。它处理过滤器的参数解析和创建使得定义过滤器变得更加简单。 public class MyCustomGatewayFilterFactory extends AbstractGatewayFilterFactoryMyCustomGatewayFilterFactory.Config {public MyCustomGatewayFilterFactory() {super(Config.class);}Overridepublic GatewayFilter apply(Config config, ClassConfig configClass) {// 在这里创建并返回过滤器实例return (exchange, chain) - {// 过滤器逻辑return chain.filter(exchange);};}public static class Config {// 过滤器的配置参数} }下面是一个通过令牌桶算法实现的简单限流 import org.springframework.cloud.gateway.filter.GatewayFilter; import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory; import org.springframework.stereotype.Component;Component public class RateLimitByIpGatewayFilterFactory extends AbstractGatewayFilterFactoryRateLimitByIpGatewayFilterFactory.Config {public RateLimitByIpGatewayFilterFactory() {super(Config.class);}Overridepublic GatewayFilter apply(Config config) {return (exchange, chain) - {// 获取请求的IP地址String ipAddress exchange.getRequest().getRemoteAddress().getAddress().getHostAddress();// 使用简单的基于IP的限流逻辑你可以根据实际需求选择其他限流算法// 这里使用一个简单的令牌桶算法作为示例if (isRateLimited(ipAddress, config.getLimit())) {// 如果超过限流阈值返回错误响应exchange.getResponse().setStatusCode(HttpStatus.TOO_MANY_REQUESTS);return exchange.getResponse().setComplete();}// 如果未超过限流阈值继续处理请求return chain.filter(exchange);};}private boolean isRateLimited(String ipAddress, int limit) {// 在这里实现你的限流逻辑这里使用一个简单的令牌桶算法作为示例// 你可以使用库如Google Guava RateLimiter来简化实现// 这里只是一个简单的示例请根据实际需求进行更复杂的实现// 在真实场景中你可能需要将访问频率记录到数据库或分布式缓存中// 这里使用一个简单的Map模拟存储令牌桶MapString, Long tokenBucket new ConcurrentHashMap();// 获取当前时间戳long now System.currentTimeMillis();// 获取或初始化令牌桶tokenBucket.putIfAbsent(ipAddress, now);// 获取上次访问时间long lastAccessTime tokenBucket.get(ipAddress);// 计算时间间隔long interval now - lastAccessTime;// 计算令牌生成速率double rate 1000.0 / limit; // 假设限制每秒请求次数// 计算应该生成的令牌数量int tokensToAdd (int) (interval / rate);// 更新令牌桶中的令牌数量tokenBucket.put(ipAddress, now tokensToAdd);// 检查令牌数量是否超过阈值return tokensToAdd limit;}public static class Config {private int limit;public int getLimit() {return limit;}public void setLimit(int limit) {this.limit limit;}} }配置文件配置限流阈值 spring:cloud:gateway:routes:- id: rate_limit_routeuri: http://example.comfilters:- RateLimitByIp1predicates:- Path/api/**上述配置将限制 /api/** 路径下的请求每秒只能有 1 次。请注意RateLimitByIp 需要和 RateLimitByIpGatewayFilterFactory 的类名中的大小写一致同时参数 1 是用来设置限流的阈值你可以根据需要调整。  固定容量的令牌桶 令牌桶内有固定数量的令牌这些令牌以固定的速率被添加到桶中。 令牌添加速率 令牌以恒定的速率例如每秒添加固定数量的令牌被添加到令牌桶中。 令牌消耗 当请求到达时需要从令牌桶中获取一个令牌。如果令牌桶中有足够的令牌则请求被允许处理并消耗一个令牌否则请求被限流。 平滑限流 由于令牌以恒定速率被添加令牌桶算法可以实现平滑限流即请求被均匀地处理而不是突然被拒绝。 适应突发流量 令牌桶算法对于处理突发流量也具有一定的适应性因为即使令牌桶空了一段时间一旦有令牌被添加就可以处理新的请求。 容错性好 由于令牌桶算法是基于时间的因此对于时间敏感的应用来说容错性较好。而且由于每个请求都需要从令牌桶中获取令牌因此可以有效防止突发请求对系统的影响。   三、区别 设计用途: GatewayFilter: 用于定义网关过滤器的行为是一个简单的接口。每个过滤器的实现需要直接实现 GatewayFilter 接口中的方法。AbstractGatewayFilterFactory: 是一个抽象类旨在更方便地创建具有配置参数的网关过滤器。通过继承这个抽象类你可以更容易地处理配置参数的解析和过滤器实例的创建。 用法: GatewayFilter: 直接实现 GatewayFilter 接口编写过滤器逻辑。这种方式适用于不需要配置参数的简单过滤器。AbstractGatewayFilterFactory: 继承该抽象类实现抽象方法 apply 和 apply(C config, ClassC configClass)并在其中处理配置参数并创建过滤器实例。这种方式适用于需要配置参数的过滤器。 配置参数: GatewayFilter: 如果过滤器需要配置参数需要通过其他方式如构造函数、属性注入等传递参数因为 GatewayFilter 接口本身不提供直接的配置机制。AbstractGatewayFilterFactory: 通过泛型参数 C 指定配置参数的类型并在 apply 方法中接收配置参数。这使得配置参数的处理更为灵活Spring Cloud Gateway 会负责将配置参数绑定到过滤器实例。
http://www.pierceye.com/news/824435/

相关文章:

  • 手机购物网站模版企业信息系统查询系统官网江苏
  • 礼品行业网站建设北京网站设计精选刻
  • 六安论坛网站WordPress ftp 媒体库子目录
  • 网站域名com和cn应用商店免费下载
  • 建设营销型网站多少钱比较好的网站建设网站
  • 学校网站的建设需求搜索引擎优化的缺点包括
  • 牛牛襄阳做网站郑州网站建设市场
  • 网站首页的导航栏北京公司注册核名详细流程
  • 专注昆明网站建设有哪些网络营销方式
  • 公司做两个网站网站怎么做本地映射
  • 响应式网站一般做几个尺寸百度联盟怎么做自己的网站
  • 河南做网站的wordpress 幻灯片加数字
  • 东莞网站建设建网站平面设计培训哪个好
  • 网站建设与管理专业是什么办公空间设计案例整套
  • 网站设计网站源码怎么介绍自己的学校
  • 企业网站建设兴田德润很赞运动网站建设主题
  • 沧州自适应网站建设惠安规划局建设局网站
  • 第三方商城网站建设清理wordpress模板
  • 石家庄市建设厅网站wordpress 缩略图代码
  • 网站建设开发服务费怎么做账在线教育平台
  • 南京市英语网站建设网页制作基础教程课件葛艳玲
  • 石家庄网站建设电商台州自助建站在线咨询
  • 郑州媒体网站定制开发网站建设有趣名称
  • 清远企业网站建设公司江西网站开发企业
  • 中国建设监理协会化工监理协会网站中国建行官网首页
  • 长宁区科技网站建设科技类网站怎么做
  • 物流企业的网站模板wordpress海淘
  • 青岛做外贸网站的公司简介重庆关键词优化平台
  • 黄岛外贸网站建设很多网站没排名了
  • 广州做网站优化费用网站建设和制作