摘要:本案例主要讲解 实现分布式锁的两种实现方式: 实现、 实现。网上关于这方面讲解太多了,Van自认为文笔没他们好,还是用示例代码说明。 一、 实现 该方案只考虑 单机部署的场景 1.1 加锁 1.1.1 原理 1. : 使用 来当锁,因为 是唯一的; 1. : 我传的是唯一值( ),很多童鞋可能不明白 阅读全文
posted @ 2019-09-21 00:34 风尘博客 阅读 (313) 评论 (1) 编辑
摘要:如何逃离令人抓狂的 if-else 参数校验的代码,Van 带你用validator快速搞定,节省更多的时间勾搭小姐姐。 阅读全文
posted @ 2019-09-11 23:47 风尘博客 阅读 (434) 评论 (1) 编辑
摘要:在单机场景下,全局唯一的ID可以使用数据库的自增功能,分布式系统一般是高并发场景,那自然不适合。 阅读全文
posted @ 2019-09-05 00:04 风尘博客 阅读 (1316) 评论 (6) 编辑
摘要:你写的的单例模式多线程下是否安全?是否懒加载?如何防止反射破坏单例模式?阅读本文,解锁单例模式的更多细节。 阅读全文
posted @ 2019-09-02 01:00 风尘博客 阅读 (386) 评论 (4) 编辑
摘要:现在几乎大部分的`App`都支持使用多个第三方账号进行登录,如:微信、QQ、微博等,我们把此称为多账号统一登陆。而这些账号的表设计,流程设计至关重要,不然后续扩展性贼差。本文不提供任何代码实操,但是梳理一下博主根据我司账号模块的设计,提供思路,仅供参考。 阅读全文
posted @ 2019-08-29 00:48 风尘博客 阅读 (875) 评论 (0) 编辑
摘要:文章浏览量统计,low的做法是:用户每次浏览,前端会发送一个GET请求获取一篇文章详情时,会把这篇文章的浏览量 +1,存进数据库里。 阅读全文
posted @ 2019-08-27 00:25 风尘博客 阅读 (542) 评论 (0) 编辑
摘要:说起应用分层,大部分人都会认为这个不是很简单嘛 就`Controller`,`Service`, `Mapper`三层。看起来简单,很多人其实并没有把他们职责划分开,在很多代码中,`Controller`做的逻辑比`Service`还多,`Service`往往当成透传了,这其实是很多人开发代码都没有注意到的地方,反正功能也能用,至于放哪无所谓呗。这样往往造成后面代码无法复用,层级关系混乱,对后续代码的维护非常麻烦。 阅读全文
posted @ 2019-08-25 23:53 风尘博客 阅读 (218) 评论 (3) 编辑
摘要:一、跨域背景 1.1 何为跨域? 的一般格式: 示例: 是由 + + + + 组成。 只要协议,子域名,主域名,端口号这四项组成部分中有一项不同,就可以认为是不同的域,不同的域之间互相访问资源,就被称之为跨域。 1.2 一次正常的请求 Controller层代码: 启动项目,测试请求 浏览器打开 " 阅读全文
posted @ 2019-08-25 16:46 风尘博客 阅读 (216) 评论 (0) 编辑
摘要:在项目开发中,日志系统是必不可少的,用`AOP`在Web的请求做入参和出参的参数打印,同时对异常进行日志打印,避免重复的手写日志,完整案例见文末源码。 阅读全文
posted @ 2019-08-24 23:21 风尘博客 阅读 (140) 评论 (0) 编辑
摘要:日志输出到文件并根据LEVEL级别将日志分类保存到不同文件、通过异步输出日志减少磁盘IO提高性能 阅读全文
posted @ 2019-08-23 08:36 风尘博客 阅读 (195) 评论 (0) 编辑