限流(服务降级):基于自定义注解+切面的方式实现接口调用频率限制

引言

背景:提供接口给下游(外部厂商)的接口,通过控制IP地址来限制接口的调用频率,可以有效保护系统的稳定性和安全性。

限制接口调用频率实现方案:

  • 基于自定义注解+切面 的方式实现
  • 使用Guava Cache/redis/自定义缓存工具类(ConcurrentHashMap)来记录请求频率,并通过设定阈值来限制请求次数。
  1. 分布式缓存:redis、memcached
  2. 本地(进程内)缓存:ehcache、GuavaCache(Guava Cache是单个应用运行时的本地缓存,支持高并发且线程安全的)、Caffeine
  • 定期清理缓存的方法

I 基于GuavaCache实现频率限制

<dependency>
    

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-13 08:52:10       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-13 08:52:10       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-13 08:52:10       82 阅读
  4. Python语言-面向对象

    2024-06-13 08:52:10       91 阅读

热门阅读

  1. 加密算法:RSA非对称加密算法

    2024-06-13 08:52:10       23 阅读
  2. 【HTML】格式化文本 pre 标签

    2024-06-13 08:52:10       19 阅读
  3. Kafka 之 KRaft —— ZooKeeper 到 KRaft 的迁移

    2024-06-13 08:52:10       28 阅读
  4. k-means聚类模型的优缺点

    2024-06-13 08:52:10       29 阅读
  5. MATLAB神经网络---regressionLayer回归输出层

    2024-06-13 08:52:10       39 阅读
  6. 设计模式之观察者模式

    2024-06-13 08:52:10       33 阅读
  7. TensorFlow 1.x 版本保存模型的三种方式的优缺点

    2024-06-13 08:52:10       31 阅读
  8. 【电子信息工程专业课】学习记录

    2024-06-13 08:52:10       29 阅读
  9. Mongodb使用$<identifier>过滤更新数组元素

    2024-06-13 08:52:10       35 阅读