- 博客(9)
- 收藏
- 关注
原创 mysql到底需不需要容器化?
在容器化的时代,当然一切皆可容器化。在docker官网首页赫然有下面这几个大字。足以知道docker的优势。那么且问,mysql适合跑在docker中吗?
2023-08-31 23:10:37
172
原创 服务端参数校验之分组校验、嵌套校验
后记:参数校验场景各种各样,对于这些简单的使用,掌握好了还是能够覆盖大部分需求的;常用的必须掌握,不常用的我们需要知道,万一哪天遇到了,我们就知道在哪里去查现成的轮子可以使用;当然,对于复杂的参数校验,有可能需要您自定义注解实现,或者通过过滤器等方式实现。有时候我们不单单需要校验body中参数,还有可能需要校验header中参数,比如常见的token啊、timestamp啊等等。日常开发中,免不了需要对请求参数进行校验,诸如判空,长度,正则,集合等,复杂一点的请求参数可能会包含嵌套,分组校验。
2023-08-20 23:19:30
188
原创 线上服务器磁盘爆了,如何快速处理?
突然收到预警短信,显示是服务器磁盘占用100%,磁盘爆了!得想办法怎么快速处理解决空间占用问题,让服务器恢复可用
2023-08-01 15:16:15
135
原创 巧用网关白名单实现接口免鉴权
场景描述:一般系统中提供的接口都是经过统一配置鉴权的,比如不登录不能访问。但是,一些接口是需要开放给客户用的,我称作open API。当然,使用白名单也不仅仅局限于对外开放接口这个场景,也不仅仅局限于使用在鉴权过滤器上。实际需求可以结合自己的业务场景,使用不同的过滤器。如果使用的是网关过滤器,在校验后应该再次过滤器,也就是经过2次;,如果你的系统集成了gateway也可以使用网关过滤器,然后自定义过滤器实现。在你的本地的配置文件或者是nacos的配置文件中新增以下配置。从白名单中删除,用网关过滤器演示。
2023-07-28 09:13:00
1165
原创 微服务下使用maven做多环境配置
生产环境的配置也容易暴露。如果按照默认配置的话我们虽然可以达到多环境的便捷使用效果,但是也同时copy了其他环境的文件。你也可以把数据库连接配置也配置上,这样就达到了很好的屏蔽各种连接配置的暴露,尤其是账号密码。目录下新建local,dev,test,prod文件,分别代表本地,开发,测试,生产环境。配置完毕后,我们就可以在IDEA的maven面板处看到我们配置的profiles。中配置profile,共有4个,对应上面配置的4种环境文件。下,这不是我们想要的,且仍然有生产环境的配置泄露的风险。
2023-07-25 09:27:54
388
原创 微服务下,如何实现多设备同时登录或强制下线?
你有没有遇到过这样的需求,产品要求实现同一个用户根据后台设置允许同时登录,或者不准同时登录时,需要强制踢下线前一个的场景。本文将带领大家实现一个简单的这种场景需求。先来看一下简单的时序图,方便后续理解。首先我们需要有一个后台设置开关来控制允不允许用户多设备同时登录的功能(没有也无妨,假定允许),其次在登录后,需要保存用户的userId-token的关系缓存。再回头看上面的时序图,是不是已经能理解实现的原理了。
2023-07-23 13:19:36
645
原创 巧用设计模式实现多种登录方式
可以根据不同的登录方式,来各自实现不同的逻辑(通过手机号获取、通过账号名获取等)。针对本文的登录场景,可以知道 登录=行为,手机验证码登录、账号密码登录、人脸识别登录等=实现;的步骤1中添加,比如游戏的未成年保护,仅限制在某某时间段才可以登录、不允许多终端登录、仅PC端登录等场景。至此,一个简单的结合策略模式实现不同登录方式的代码已经写完,符合开闭原则。在service中断点查看,根据前端传的登录方式,我们可以看出map中已经匹配到了具体的登录策略实现。先抛个砖,什么是策略模式?
2023-07-20 10:30:03
440
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人