跳至主要內容
API网关安全:WAF、限流、签名与黑白名单实践

前言

在微服务架构中,API网关是所有外部请求的唯一入口:

用户 → API网关 → 内部服务

API网关的职责:
  ├─ 请求路由
  ├─ 认证授权
  ├─ 限流熔断
  ├─ 安全防护(WAF)
  ├─ 请求签名验证
  ├─ 日志审计
  └─ 监控告警

郑天祺大约 7 分钟安全WAF限流签名黑白名单
基于Spring AOP和Redis的分布式限流实践

概述

在高并发系统中,限流是一种重要的保护机制,用于控制请求流量,防止系统被过多请求冲击导致服务不可用。本文将基于提供的代码实现,详细介绍如何使用Spring AOP和Redis实现一个灵活的分布式限流组件。
该例子利用mysql进行黑名单的自动登记。

限流组件架构

1. 自定义限流注解 - RateLimiter

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RateLimiter {
    String key() default "rate_limit:";
    int time() default 60;
    int count() default 5;
    LimitType limitType() default LimitType.DEFAULT;
    boolean joinBlackList() default false;
}

郑天祺大约 4 分钟分布式限流Spring AOPRedis分布式