1.对于限流,可以先看看ratelimit包里的几个类,gateway里可以定义自己的key,来确定哪些请求算同一个请求,如根据IP来计算,之后执行一次lua脚本来计算次数。
因为没满足公司需求,所以我是自己加个限流过滤器实现GlobalFilter接口
根据不同业务来组成参数key,然后自己定义RedisTemplate来执行lua脚本(lua语法只需看十几分钟例子即可上手,所以建议还是用脚本,避免原子性问题,也减少了连接redis服务器的次数)
设置redis缓存时带上过期时间即可实现限流。
2.过滤器
其实过滤器源码都很好理解。
或者也可以参考文档:
http://cloud.spring.io/spring...
里面每个过滤器都有简单的例子跟注释。
spring cloud gateway (5)其他
最新推荐文章于 2025-09-05 13:52:53 发布
