亿级高并发电商项目是一款常见的电商网站,项目采用前后端分离架构。前端开发主要使用vue.js,后端使用SpringCloud Alibaba全家桶技术进行实现。项目包含电商系统的大部分功能,分为商家端和用户端。商家端有权限管理、商品管理、广告管理等功能。用户端有用户注册和登录、搜索商品、添加购物车、商品下单、支付、秒杀商品等功能。学习本项目后,可以对电商项目和分布式项目的开发有更深的理解。
章节 | 内容 |
---|---|
章节1 百战商城1_项目搭建 | 1: 项目介绍 2: 项目技术选型 3: 项目架构 4: 数据库表结构 5: 准备虚拟机 6: 安装Nacos 7: 创建父工程 8: 创建通用模块 9: 创建商品服务模块 10: 编写根据id查询品牌功能 11: 创建管理员端API模块 12: 编写根据id查询品牌控制器 13: 配置IDEA忽略文件显示 14: IDEA开启Dashboard 15: API接口设置统一数据返回格式 16: 统一异常处理 17: Postman测试接 |
章节2 百战商城2_权限管理 | 18: 创建管理员服务模块 19: 新增管理员 20: 修改管理员 21: 删除管理员 22: 根据id查询管理员 23: 分页查询管理员 24: 修改管理员角色 25: 连接前端工程进行测试 26: 编写角色服务接口 27: 编写角色Mapper 28: 编写角色服务实现类 29: 编写角色控制器 30: 编写权限服务接口 31: 编写权限Mapper 32: 编写权限服务实现类 33: 编写权限控制器 34: 编写Security处理器 35: 编写Security配置类 36: 编写认证授权相关的服务方法 37: 编写认证授权逻辑 38: 修改新增/修改管理员方法 39: 编写获取登录管理员名方法 40: 编写接口鉴权配置 |
章节3 百战商城3_商品管理 | 41: 编写品牌服务接口 42: 编写品牌服务实现类 43: 编写品牌控制器 44: 编写商品类型服务接口 45: 编写商品类型服务实现类 46: 编写商品类型控制器 47: 编写商品规格服务接口 48: 编写商品规格Mapper 49: 编写商品规格服务实现类 50: 编写商品规格控制器安装FastDFS安装Nginx 51: 创建文件服务模块 52: 编写文件上传功能 53: 编写文件上传控制器 54: 编写新增商品功能 55: 编写修改商品功能 56: 编写上/下架商品功能 57: 编写根据id查询商品功能 58: 编写分页查询商品功能 59: 编写秒杀商品服务接口 60: 编写秒杀商品服务实现类 61: 编写秒杀商品控制器 |
章节4 百战商城4_广告管理 | 62: 创建广告服务模块 63: 编写广告服务接口 64: 编写广告服务实现类 65: 编写广告管理控制器 66: 创建广告用户Api模块安装Higress 67: 配置服务网关 68: 使用缓存优化用户查询广告安装Redis 69: 优化广告服务实现类 |
章节5 百战商城5_商品搜索 | 70: 安装ES服务 71: 安装kibana 72: 搜索相关的实体类 73: 创建商品索引 74: 创建搜索服务模块 75: 创建搜索Api模块 76: 编写搜索服务接口 77: 向ES同步数据库商品数据编写补齐关键字功能 78: 编写商品搜索功能 79: 编写根据id查询商品详情功能 80: 管理员操作商品后同步到ES中 |
章节6 百战商城6_商城用户 | 81: 申请阿里短信服务 82: 编写发送短信功能 83: 创建网站用户服务模块 84: 创建网站用户Api模块 85: 编写用户服务接口用户注册的步骤 86: 编写发送注册验证码功能 87: 编写验证注册验证码功能 88: 编写用户注册功能 89: 编写用户名密码登录功能 90: 编写手机号验证码登录功能单点登录的概念 91: 编写JWT工具类登录后生成令牌Higress配置JWT认证编写 92: 获取用户名功能编写退出登录功能 |
章节7 百战商城7_购买商品 | 93: 编写购物车服务接口创建购物车服务模块 94: 创建购物车Api模块编写查询用户购物车功能 95: 编写添加商品到购物车方法 96: 编写修改购物车商品数量方法 97: 编写删除购物车商品方法编写购物车控制器 98: 编写修改所有用户购物车商品方法 99: 编写删除所有用户购物车商品方法优化修改商品下架商品方法 100: 购物车模块监听修改商品、删除商品消息创建订单服务模块 101: 创建订单Api模块 102: 编写地址服务接口 103: 编写地址相关的Mapper接口 104: 编写地址服务接口实现类 105: 编写地址控制器 106: 编写订单服务接口 107: 编写新增订单功能 108: 编写根据id查询订单详情功能 109: 编写查询用户订单&修改订单功能 110: 编写订单控制器 112: 创建支付服务模块 113: 编写支付配置类和支付验签工具 114: 编写支付服务接口 115: 编写生成二维码功能 116: 编写支付回调方法 117: 测试支付功能 118: 删除过期订单 119: 分布式事务的产生 120: 安装Seata 121: 在项目中引入Seata |
章节8 百战商城8_商品秒杀 | 122: 创建秒杀服务模块 123: 创建秒杀Api模块 124: 编写秒杀服务接口 125: 同步秒杀商品到redis 126: 分页查询秒杀商品列表 127: 根据id查询秒杀商品 128: 生成秒杀订单 129: 将redis商品同步到mysql中 130: 根据id查询秒杀订单 131: 支付秒杀订单 132: 删除过期秒杀订单 133: 查询秒杀商品详情的漏洞 134: 优化查询秒杀商品详情方法缓存穿透的产生 135: 布隆过滤器 136: 缓存击穿的产生和解决缓存雪崩的产生 137: 安装Sentinel 138: 将Setinel接入项目 139: Setinel解决缓存雪崩 140: Setinel流量防护 141: Setinel服务熔断 142: 秒杀超卖现象 143: 秒杀超卖的产生原因 144: synchronized解决秒杀超卖 145: 代码锁在分布式项目中的局限性 146: 分布式锁解决方案 147: Redisson实现的分布式锁 |