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

怎么找做网站的人百度一下浏览器

怎么找做网站的人,百度一下浏览器,购物型网站建设,怎样做易支付网站⛰️个人主页: 蒾酒 #x1f525;系列专栏#xff1a;《spring boot实战》 #x1f30a;山高路远#xff0c;行路漫漫#xff0c;终有归途 目录 写在前面 内容简介 实现思路 实现步骤 1.自定义限流注解 2.编写限流拦截器 3.注册拦截器 4.接口限流测试 写在前…  ⛰️个人主页:     蒾酒 系列专栏《spring boot实战》 山高路远行路漫漫终有归途 目录 写在前面 内容简介 实现思路 实现步骤 1.自定义限流注解 2.编写限流拦截器 3.注册拦截器 4.接口限流测试 写在前面 本文介绍了springboot开发后端服务中高并发接口限流设计与实现坚持看完相信对你有帮助。 同时欢迎订阅springboot系列专栏持续分享spring boot的使用经验。 内容简介 本文介绍了一种使用自定义注解结合拦截器和redis实现接口限流方法。这种方法也是企业常用方法是一种比较优雅的解决方案。 优点分析 灵活性和可定制性 通过自定义注解和拦截器可以根据具体的业务需求灵活定义限流规则满足不同接口的限流需求。 性能优化 使用Redis等高性能缓存数据库存储限流计数器能够有效减轻应用程序的压力提高系统的性能表现。 实时性和持久性 Redis具有较高的读写性能可以实时更新限流计数器并且数据持久化保证限流规则的持久性。 分布式支持 对于分布式系统使用Redis等分布式缓存数据库可以方便地实现跨节点的限流策略和计数器共享确保限流的准确性和一致性。 成熟稳定 这种方法经过实践验证在众多企业项目中得到广泛应用被认为是一种成熟、稳定且可靠的解决方案。 实现思路 通过自定义一个注解标注需要进行限流的接口方法通过拦截器对标记改注解的方法进行拦截处理 将同一ip访问同一接口的次数缓存到redis,拦截器中进行判断处理达到访问阈值直接拒绝。 实现步骤 1.自定义限流注解 import java.lang.annotation.*;/*** author mijiupro*/ Retention(RetentionPolicy.RUNTIME) Target({ElementType.METHOD}) Inherited Documented public interface AccessLimit {int limit() default 10; // 限流阈值int seconds() default 60; // 时间窗口 } 2.编写限流拦截器 /*** 接口限流拦截器* author mijiupro*/ Slf4j Component public class AccessLimitInterceptor implements HandlerInterceptor {private final StringRedisTemplate redisTemplate;public AccessLimitInterceptor(StringRedisTemplate redisTemplate) {this.redisTemplate redisTemplate;}Overridepublic boolean preHandle(NotNull HttpServletRequest request, NotNull HttpServletResponse response, NotNull Object handler) {if (!(handler instanceof HandlerMethod handlerMethod)) {return true;}Method method handlerMethod.getMethod();AccessLimit accessLimit method.getAnnotation(AccessLimit.class);// 若方法上没有AccessLimit注解直接放行if (accessLimit null) {return true;}int limit accessLimit.limit();int seconds accessLimit.seconds();String key generateKey(request); // 生成限流key// 使用基本类型long接收计数值并确保不会因自动装箱产生NullPointerExceptionLong countResult redisTemplate.opsForValue().increment(key, 1);long currentCount countResult ! null ? countResult : 0;if (currentCount 1) {// 如果是第一次访问设置过期时间redisTemplate.expire(key, seconds, TimeUnit.SECONDS);log.debug(设置访问限制计数为1{}, key);return true;}if (currentCount limit) {log.error(访问超过限制{}, key);throw new RateLimitException(ResultEnum.ACCESS_LIMIT_REACHED);}log.debug(访问限制计数递增{}, key);return true;}private String generateKey(HttpServletRequest request) {// 组合key的方式可以根据实际业务需要调整例如考虑方法名称、用户ID等return request.getRemoteAddr() : request.getContextPath() : request.getServletPath();}} 3.注册拦截器 Configuration public class WebConfig implements WebMvcConfigurer {private final AccessLimitInterceptor accessLimitInterceptor;public WebConfig( AccessLimitInterceptor accessLimitInterceptor) {this.accessLimitInterceptor accessLimitInterceptor;}Overridepublic void addInterceptors(NotNull InterceptorRegistry registry) {//添加上接口限流拦截器使之生效registry.addInterceptor(accessLimitInterceptor).order(0);} } 4.接口限流测试 随便写个接口标记限流注解进行测试 这里使用swagger3进行测试 Spring Boot3整合knife4j(swagger3)_springboot3 knife4j-CSDN博客文章浏览阅读2.1k次点赞39次收藏52次。Knife4j · 集Swagger2及OpenAPI3为一体的增强解决方案. | Knife4j (xiaominfo.com)作者的使用的spring boot 3.2.2为当前最新版所以依赖导入最新的knife4j 4.4.0。3.1 增强模式 | Knife4j (xiaominfo.com)好一个spring boot项目且版本为3X项目可正常启动。快速开始 | Knife4j (xiaominfo.com)接下来配置以下接口文档的作者等信息。Tag注解标记接口类别。_springboot3 knife4jhttps://blog.csdn.net/qq_62262918/article/details/135761392?spm1001.2014.3001.5502 GetMapping(/get-int)AccessLimit( limit 5, seconds 60)public Integer getInt() {return 1;} 前五次访问 第六次访问 写在最后 spring boot3自定义注解拦截器Redis实现高并发接口限流到这里就结束了本文介绍了一种常见的实现方法。任何问题评论区或私信讨论欢迎指正。
http://www.w-s-a.com/news/809735/

相关文章:

  • 网站收录突然全部没有了东莞网站建设公司电话
  • 境外企业网站推广免费ppt元素
  • 2018网站建设行业广东网站seo
  • 网站后台加密云服务器2008做网站
  • dw制作一个环保网站模板下载吉安网站建设收费
  • 深圳珠宝网站设计北京高端网站建设优势
  • 合肥企业制作网站wordpress创建网站
  • 织梦网站开发兼职wordpress 中间截取缩略图
  • 南通制作网站旅游搭建网站
  • 专业做商铺的网站个人网页html模板完整代码
  • 什么网站做美食最好最专业关键词推广是什么意思
  • 自助建设网站软件网站导航网站可以做吗
  • 网站模板放哪长沙网站优化分析
  • 泉州网站建设价钱网站模板素材
  • 南通网站托管js建设网站外网
  • 成都企业网站公司wordpress内页模板
  • 58同城建网站怎么做wordpress评论显示数字ip
  • 免费制作论坛网站模板免费下载北京网站制作长沙
  • 旅游网网站建设网站如何自己做seo
  • 如何验证网站所有权做二手家具回收哪个网站好
  • 做哪种网站赚钱项目开发流程
  • 网站建设和网站网络推广网站建设软件定制
  • 站长工具网址查询全球云邮登陆网站
  • 宁波 住房和建设局网站网上发帖推广
  • 平面设计在线网站工业设计公司有哪些
  • 福州网站设计外包公司网站做的比较好
  • 如何设计网站首页网站开发综合技能实训心得体会
  • 用织梦做的网站好用吗w网站链接如何做脚注
  • 东莞做网站公司在哪哪里有网站培训的
  • 做宣传 为什么要做网站那重庆网站建设公司在线联系