摘要:
前言 最近经常有小伙私信问我,知识星球中包含了哪些项目? 答:有 5 个项目。 今天这篇文章重点跟大家一起聊聊,我在知识星球中开发的这5个项目,想加入学习的小伙伴,可以扫描文章末尾的二维码。 1. 商城V1版本项目 包含了:Java后端 + Web管理后台 + 小程序 ,三个端的完整代码。 商城项目 阅读全文
摘要:
大家好,我是苏三~ 前言 我花了一年多的时间,把我这些年的技术成长路线,都沉淀到了我的知识星球:【Java突击队】 ,欢迎大家加入一起探讨和学习。 星球里面沉淀的干货越来越多,包含了:学习路线、系统设计、技术选型、踩坑分享、项目实战、源码解读、底层原理、高频面试题,里面什么都有。 目前收到了越来越多 阅读全文
摘要:
前言 今天要讨论一个让无数人抓狂的话题:如何高效导入百万级Excel数据。 去年有家公司找到我,他们的电商系统遇到一个致命问题:每天需要导入20万条商品数据,但一执行就卡死,最长耗时超过3小时。 更魔幻的是,重启服务器后前功尽弃。 经过半天的源码分析,我们发现了下面这些触目惊心的代码... 1 为什 阅读全文
摘要:
大家好,我是苏三,又跟大家见面了。 前言 大表优化是一个老生常谈的话题,但随着业务规模的增长,总有人会“中招”。 很多小伙伴的数据库在刚开始的时候表现良好,查询也很流畅,但一旦表中的数据量上了千万级,性能问题就开始浮现:查询慢、写入卡、分页拖沓、甚至偶尔直接宕机。 这时大家可能会想,是不是数据库不行 阅读全文
摘要:
前言 上个月,我们有个电商系统出了个灵异事件:用户支付成功了,但订单状态死活不改成“已发货”。 折腾了半天才定位到问题:订单服务的MQ消息,像人间蒸发一样消失了。 这个Bug让我明白:(MQ)消息队列的数据一致性设计,绝对能排进分布式系统三大噩梦之一! 今天这篇文章跟大家一起聊聊,MQ如何保证数据一 阅读全文
摘要:
前言 记得五年前的一个深夜,某个电商平台的订单退款接口突发异常,因为银行系统网络抖动,退款请求连续失败。 原本技术团队只是想“好心重试几次”,结果开发小哥写的重试代码竟疯狂调用了银行的退款接口 82次! 最终导致用户账户重复退款,平台损失过百万。 老板在复盘会上质问:“接口重试这么基础的事,为什么还 阅读全文
摘要:
前言 系统高可用是非常经典的问题,无论在面试,还是实际工作中,都经常会遇到。 这篇文章跟大家一起聊聊,保证系统高可用的10个小技巧,希望对你会有所帮助。 1 冗余部署 场景:某电商大促期间,数据库主节点突然宕机,导致全站交易瘫痪。 问题:单节点部署的系统,一旦关键组件(如数据库、消息队列)故障,业务 阅读全文
摘要:
一、传统判空的血泪史 某互联网金融平台因费用计算层级的空指针异常,导致凌晨产生9800笔错误交易。 DEBUG日志显示问题出现在如下代码段: // 错误示例 BigDecimal amount = user.getWallet().getBalance().add(new BigDecimal("1 阅读全文
摘要:
1 什么事跨域问题? 很多小伙伴第一次遇到跨域问题,大概率会一脸懵逼:“我后端接口明明通了,Postman也能调,为啥浏览器就报红字?” 其实这事儿得怪浏览器的“同源策略”(Same-Origin Policy)。 简单说,浏览器觉得“不同源的请求都是耍流氓”。 比如你的前端跑在http://loc 阅读全文
摘要:
前言 接口幂等性问题,对于开发人员来说,是一个跟语言无关的公共问题。本文分享了一些解决这类问题非常实用的办法,绝大部分内容我在项目中实践过的,给有需要的小伙伴一个参考。 不知道你有没有遇到过这些场景: 我们在填写某些form表单时,保存按钮不小心快速点了两次,表中竟然产生了两条重复的数据,只是id不 阅读全文
摘要:
前言 某次金融系统迁移项目中,原计划8小时完成的用户数据同步迟迟未能完成。 24小时后监控警报显示:由于全表扫描SELECT * FROM users导致源库CPU几乎熔毁,业务系统被迫停机8小时。 这让我深刻领悟到——10亿条数据不能用蛮力搬运,得用巧劲儿递接! 今天这篇文章,跟大家一起聊聊10亿 阅读全文
摘要:
前言 某中型电商平台的报表系统曾在深夜突然崩溃,起因竟是运营误删了共享表中的某租户数据列。 运维团队排查发现,因为缺乏有效租户隔离,一条误操作的ALTER TABLE语句导致全平台数据混乱。 这让我们警惕:选择多租户方案的每一步,都是安全与成本的权衡。 今天这篇文章就跟大家一起聊聊,多租户的4种常用 阅读全文