03 2025 档案

摘要:大家好,我是苏三,又跟大家见面了。 前言 大表优化是一个老生常谈的话题,但随着业务规模的增长,总有人会“中招”。 很多小伙伴的数据库在刚开始的时候表现良好,查询也很流畅,但一旦表中的数据量上了千万级,性能问题就开始浮现:查询慢、写入卡、分页拖沓、甚至偶尔直接宕机。 这时大家可能会想,是不是数据库不行 阅读全文
posted @ 2025-03-31 09:59 苏三说技术 阅读(2494) 评论(4) 推荐(17)
摘要:前言 上个月,我们有个电商系统出了个灵异事件:用户支付成功了,但订单状态死活不改成“已发货”。 折腾了半天才定位到问题:订单服务的MQ消息,像人间蒸发一样消失了。 这个Bug让我明白:(MQ)消息队列的数据一致性设计,绝对能排进分布式系统三大噩梦之一! 今天这篇文章跟大家一起聊聊,MQ如何保证数据一 阅读全文
posted @ 2025-03-27 10:50 苏三说技术 阅读(1121) 评论(1) 推荐(6)
摘要:前言 记得五年前的一个深夜,某个电商平台的订单退款接口突发异常,因为银行系统网络抖动,退款请求连续失败。 原本技术团队只是想“好心重试几次”,结果开发小哥写的重试代码竟疯狂调用了银行的退款接口 82次! 最终导致用户账户重复退款,平台损失过百万。 老板在复盘会上质问:“接口重试这么基础的事,为什么还 阅读全文
posted @ 2025-03-24 10:04 苏三说技术 阅读(1294) 评论(4) 推荐(6)
摘要:前言 系统高可用是非常经典的问题,无论在面试,还是实际工作中,都经常会遇到。 这篇文章跟大家一起聊聊,保证系统高可用的10个小技巧,希望对你会有所帮助。 1 冗余部署 场景:某电商大促期间,数据库主节点突然宕机,导致全站交易瘫痪。 问题:单节点部署的系统,一旦关键组件(如数据库、消息队列)故障,业务 阅读全文
posted @ 2025-03-19 09:31 苏三说技术 阅读(1526) 评论(4) 推荐(9)
摘要:一、传统判空的血泪史 某互联网金融平台因费用计算层级的空指针异常,导致凌晨产生9800笔错误交易。 DEBUG日志显示问题出现在如下代码段: // 错误示例 BigDecimal amount = user.getWallet().getBalance().add(new BigDecimal("1 阅读全文
posted @ 2025-03-07 09:45 苏三说技术 阅读(1008) 评论(3) 推荐(4)
摘要:1 什么事跨域问题? 很多小伙伴第一次遇到跨域问题,大概率会一脸懵逼:“我后端接口明明通了,Postman也能调,为啥浏览器就报红字?” 其实这事儿得怪浏览器的“同源策略”(Same-Origin Policy)。 简单说,浏览器觉得“不同源的请求都是耍流氓”。 比如你的前端跑在http://loc 阅读全文
posted @ 2025-03-01 10:18 苏三说技术 阅读(2194) 评论(0) 推荐(4)