学习完整项目
概述
本文档是针对学习培训机构的项目、网上完整项目、公司内接手项目一步一步的了解并掌握这个项目的手册。
技能
培训机构的项目课中一般会掺杂一些你之前已经会的东西,或者我认为这个功能、思想、技能不应该出现在项目的学习过程的,我就放这里了。
Maven聚合工程搭建
maven的一些配置呀、本地仓库、远程仓库、java 版本、.mvn、gitmodules
提效工具
1 | |
项目规范
1 | |
通用入参出参
1 | |
统一异常处理
1 | |
单元测试
1 | |
简单的安全考虑
1 | |
容器布署
docker 的使用;
Rancher 的使用;
k8s的使用;
理解业务需求
基本上理解业务需求是什么,比如教育电商系统。基本的业务是什么。用户是谁,商品是什么。这些基本的业务功能。使用一遍。
基础框架
这里是基础框架,如果有特殊功能或者用到某个功能时再去单独学习。
1 | |
组件
1 | |
画业务、应用、数据、技术架构图
画架构图中就是了解项目的过程,会理解的越来越深。
数据在哪
mysql 是否分库?
分库后每个库存储的是什么?
redis 里存什么?
es里存什么?
有本地缓存?
常用的设计
短信、邮箱(有限资源)防刷
前端加倒计时(防非技术人员)、增加验证码(增加技术人员成本)、加入redis(缓存)、加入短信策略(业务限制包括黑白名单)。
文件上传
上传是直传给oss还是经过应用服务器,下载是否经过应用服务器
分片上传
线程内传参ThreadLocal
一个线程内,比如登录后的信息,不需要方法参数传递,直接使用ThreadLocal传递。
库存扣减
Jmeter 工具的使用。
库存扣减的方案选择。
分布式锁(redisson)使用。
流量漏斗模型
首页访问量 100万;二级详情页 70万;添加购物车 10万;创建订单 1万; 支付 5千;
登录 2万; 注册 1k;
注册后发放积分或优惠劵
方案选择;
消息中间件mq
购物车存储选型
方案一:存储数据库
方案二:存储前端本地存储-localStorage -sessionStorage
方案三:存储到redis
方案四:存储到redis同步到数据库
订单与支付与分布式事务
分布式事务。
订单表、库存表、优惠劵表。
订单与支付的逻辑。
下单、关单、优惠劵使用、优惠劵释放
第三方支付对接与多渠道设计模式(策略设计模式)
微信、支付宝对接。
策略设计模式。
学习完整项目
http://hanqichuan.com/2026/02/13/系统设计/学习完整项目/