![](https://img-blog.csdnimg.cn/20210106111854506.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
系统设计
文章平均质量分 95
学习系统设计中的注意点!
木子雷
正在努力进阶中的渣渣!
展开
-
我不知道系统何时进行分表,那我走?
前言:以交友平台用户中心的user表为例,单表数据规模达到千万级别时,你可能会发现使用用户筛选功能查询用户变得非常非常慢,明明查询已经命中了索引,但是,部分查询还是很慢,这时候,我们就需要考虑拆分这张user表了。如果此时,我们才去做分表,可能已经太晚了,为什么呢?我以最典型的应用场景:用户筛选功能,以查询年龄在18到24岁的100位女性用户为例:在单表的情况下,我们的SQL是这么写的:SELECT * FROM user WHERE age >= 18 AND age <= 2.转载 2021-05-26 19:38:24 · 137 阅读 · 0 评论 -
不看后悔的项目中线程池实际应用
前言:最近在看线程池方面的内容,结合源码学习完其内部原理后,心想自己在项目中有实际使用过线程池吗?想了想,确实在项目中很多地方使用到了线程池;下面来简单聊下最近在日志方面中多线程的应用:服务接口日志异步线程池化入库处理定时任务中使用多线程进行日志清理本文主线:①、线程池基本原理解读;②、线程池实际应用例子:线程池应用 Demo 项目结构描述服务接口日志异步线程池化入库处理定时任务中使用多线程进行日志清理线程池基本原理解读:啥也不说,先贴一张脑图,通过脑图对.原创 2020-12-30 11:03:49 · 4310 阅读 · 2 评论 -
后端程序员必须知道的接口幂等性
前言:最近负责的项目出了一个问题,用户操作回退失效。原本的逻辑设计中,操作回退是需要回到操作前的状态。经过查看日志发现,用户之前的操作做了两次,也就是说提交操作的接口被调用了两次,导致用户上一次的状态和这一次的状态是一样的,所以操作回退是没有问题的,问题出在了操作的接口被调用了两次 。对于防止重复提交,一般是放在前端页面控制的,用户点击完按钮之后,后台返回成功的结果,按钮就不可见,实践证明,客户端的限制操作不是绝对可靠的。针对上面的场景问题,进而引发了下文的内容;本文主线:①、什么是接.转载 2020-12-04 12:45:07 · 374 阅读 · 0 评论