发布于 2024-02-06
摘要
电商常见需求:下单后 30 分钟未支付,自动关闭订单并释放库存。实现方式有好几种,各有取舍。 方案一:定时任务扫描 每分钟扫一次 …
电商常见需求:下单后 30 分钟未支付,自动关闭订单并释放库存。实现方式有好几种,各有取舍。 方案一:定时任务扫描 每分钟扫一次 …
客服转来一个用户反馈:”钱扣了,订单显示未支付”。支付掉单是交易系统最经典的问题之一,这篇记录这次排查的完整链路,以及事后补上的长效机制。
晚上八点多,监控报警:接口大量 502。Nginx 错误日志里刷屏: 这个报错基本就是 PHP-FPM 的进程池被打满了,没有空闲 …
这三个词经常被混着说,其实场景不一样,应对方式也不同。 缓存穿透 现象:查一个数据库里也不存在的 key,缓存没命中,每次都打到 …
用户反馈”订单列表越翻越慢”,前两页 200ms,翻到十几页要 6 秒以上。一开始以为是数据量大了,看了慢查询日志才发现是一条 SQL 写得有问题。记录一下完整的定位和优化过程。
用户连点两下提交,或者网络超时重试,同一个请求发了两次,订单就重复创建了。幂等就是解决这个问题的。 方案一:唯一索引 最简单可靠。 …
写下这篇的时候网站刚恢复一小时。这是一篇给自己看的复盘,也给看到这篇文章的你提个醒。
接口突然变慢,第一反应是查数据库。MySQL 的慢查询日志是最直接的入口。 开启慢查询日志 永久生效改 my.cnf: 用 mys …
公司业务量上来之后,老板拍板要上主从:一台写、一台读,顺便当备份。我之前只在自己虚拟机里玩过,这次是第一次在测试环境正经搭,把步骤和后来踩的坑都记下来。
用 PHP 导出 CSV 给运营,反馈两个问题:Excel 打开中文乱码;订单号、手机号变成 1.38E+10 这种科学计数法。 …