前言
在微服务架构中,API网关是所有外部请求的唯一入口:
用户 → API网关 → 内部服务
API网关的职责:
├─ 请求路由
├─ 认证授权
├─ 限流熔断
├─ 安全防护(WAF)
├─ 请求签名验证
├─ 日志审计
└─ 监控告警
大约 7 分钟
在微服务架构中,API网关是所有外部请求的唯一入口:
用户 → API网关 → 内部服务
API网关的职责:
├─ 请求路由
├─ 认证授权
├─ 限流熔断
├─ 安全防护(WAF)
├─ 请求签名验证
├─ 日志审计
└─ 监控告警
在高并发系统中,限流是一种重要的保护机制,用于控制请求流量,防止系统被过多请求冲击导致服务不可用。本文将基于提供的代码实现,详细介绍如何使用Spring AOP和Redis实现一个灵活的分布式限流组件。
该例子利用mysql进行黑名单的自动登记。
@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;
}