设定一个场景,假如一个商品接口在某段时间突然上升,会怎么办?生活中的例子来说,假设冰墩墩在当天晚上上热搜之后,迅速有十几万人去淘宝下单购买,此时并没有做好对该商品的缓存预热以及准备,如何操作?对于这个问题,在电商高并发系统中,对接口的保护一...
1. 前言我们先思考下面几个业务场景的解决方案:支付系统每天凌晨1点跑批,进行一天清算,每月1号进行上个月清算电商整点抢购,商品价格8点整开始优惠12306购票系统,超过30分钟没有成功支付订单的,进行回收处理商品成功发货后,需要向客户发送...
一、访问权限问题众所周知,java的访问权限主要有四种:private、default、protected、public,它们的权限从左到右,依次变大。但如果我们在开发过程中,把有某些事务方法,定义了错误的访问权限,就会导致事务功能出问题,...
1.慢SQL优化思路1.1 慢查询日志记录慢SQL如何定位慢SQL呢、我们可以通过慢查询日志来查看慢SQL。默认的情况下呢,MySQL数据库时不开启慢查询日志(slow query log)呢。所以我们需要手动把它打开。查看下慢查询日志配置...
1.命名规范数据库表名、字段名、索引名等都需要命名规范,可读性高(一般要求用英文),让别人一看命名,就知道这个字段表示什么意思。比如一个表的账号字段,反例如下:acc_no,1_acc_no,zhanghao正例:account_no,ac...
MySQL的自增id都定义了初始值,然后不断加步长。虽然自然数没有上限,但定义了表示这个数的字节长度,计算机存储就有上限。比如,无符号整型(unsigned int)是4个字节,上限就是2^32 - 1。那自增id用完,会怎么样?表定义自增...
1. SQL没加索引很多时候,我们的慢查询,都是因为没有加索引。如果没有加索引的话,会导致全表扫描的。因此,应考虑在 where 的条件列,建立索引,尽量避免全表扫描。反例:正例:2. SQL 索引不生效2.1 隐式的类...
看到这组数据似乎好像真的和标题对应,当数据达到 2000w 以后,查询时长急剧上升;难道这就是铁律吗?那下面我们就来看看这个建议值 2kw 是怎么来的?单表数量限制首先我们先想想数据库单表行数最大多大?看上面的建表 sql,id 是主键,本...
权限管控可以通俗的理解为权力限制,即不同的人由于拥有不同权力,他所看到的、能使用的可能不一样。对应到一个应用系统,其实就是一个用户可能拥有不同的数据权限(看到的)和操作权限(使用的)。主流的权限模型主要分为以下五种:ACL模型:访问控制列表...
基本原则原则1 :KISS(Keep it simple,sutpid) 和保持每件事情都尽可能的简单。用最简单的解决方案来解决问题。原则2 :YAGNI(You aren’t gonna need it)-不要去搞一些...