logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

阿里云redis集群模式导致的gateway网关限流不生效

问题现象: 阿里云redis集群无法限流, 提示一下异常Error in execution;翻译过来大致的意思就是看一下gateway网关中使用的lua脚本, 位于gateway依赖包下的gateway原Lua脚本如下下边这版是删除了部分注释代码, 以及添加了部分注释的核心问题就在这里将KEYS[1]和 KEYS[2]赋值给了变量,然后传递给了后续的代码然而, 为了保证脚本里面的所有操作都在相同

文章图片
#阿里云#redis#gateway
Java数据脱敏

敏感数据在存储过程中为是否为明文, 分为两种这里指的是数据库中存储的是明文数据, 返回给前端的时候脱敏Mybatis中使用插件, 需要实现拦截器接口Invocation类这个类包含了一些拦截对象的信息拦截签名Mybatis插件的粒度是精确到方法级别的, 那么疑问来了, 插件如何知道轮到它工作?签名机制解决的就是这个问题, 通过在插件接口上使用注解标注来解决这个问题插件的作用域Mybatis插件能拦

文章图片
#java#开发语言
sentinel系统负载自适应流控

系统负载自适应规则的核心类是 SystemRuleManager,它负责管理系统负载自适应规则的加载、更新和监听。当系统负载自适应规则发生变化时,SystemRuleManager 通过观察者模式通知相应的 RulePropertyListener 进行更新

文章图片
#java#开发语言#sentinel
sentinel黑白名单权限控制

上述代码已经实例化了黑白名单监听器,并且已经将监听器交由 SentinelProperty 进行管理, 我们知道监听器监听的是规则, 那么还需要初始化规则。因为没必要, 看下述案例, 发现本质都是一样的, 换汤不换药罢了。, 将规则集合参数携带过去, 最终才能正常进入 for 循环遍历规则集合,将其组装成 Map 结构。监听器来感知黑白名单规则的变化, 将此监听器放入。方法就会进行规则的初始化,

文章图片
#sentinel#java#观察者模式 +1
gateway集成sentinel配置nacos持久化GatewayFlowRule规则后--GatewayFlowRule规则失效(规则的时间单位和时间粒度失效)

其实笔者在写这块的时候, 参考了大量的博客, 但是那些博客实现了持久化是有缺陷的, sentinel-dashboard中操作缺失能同步到nacos, 但是这里的规则是有问题的, 无法使用的, 和我们理想中的效果大相径庭, 排查的思路大概如下。

文章图片
#gateway#sentinel
到底了