一、项目架构
1. 架构图
2. 用自己的话描述项目架构
电商项目一般包括用户注册、商品浏览、购物车、订单管理、支付结算等模块,其架构设计需要考虑以下几个方面:
架构要素 | 具体内容 |
---|---|
前端设计 | 电商项目前端设计需要考虑用户体验、交互设计、UI设计等方面,常用的技术包括HTML、CSS、JavaScript、Vue、React等 |
后端设计 | 电商项目后端设计需要考虑系统架构、数据存储、业务逻辑处理等方面,常用的技术包括Java、Spring、Spring Boot、MyBatis、MySQL等 |
架构设计 | 电商项目的架构设计需要考虑高可用、高性能、高并发、安全等方面,一般采用分布式架构和微服务架构,包括前端和后端的架构设计 |
前端架构设计 | 前端架构设计需要考虑前端静态资源的访问速度、请求负载均衡、缓存策略等方面,一般采用CDN技术、反向代理、缓存技术等 |
后端架构设计 | 后端架构设计需要考虑系统的高可用性、高性能、高并发等方面,一般采用分布式架构和微服务架构。 |
数据库设计 | 电商项目的数据库设计需要考虑数据的一致性、高可用性、可扩展性等方面,一般采用主从复制、分库分表等技术。常用的数据库包括MySQL、MongoDB、Redis等 |
安全设计 | 电商项目的安全设计需要考虑用户信息的保密性、系统的可靠性和防止攻击等方面,一般采用SSL/TLS、OAuth、JWT等安全技术 |
运维设计 | 电商项目的运维设计需要考虑系统的可维护性、监控、报警等方面,一般采用容器化技术、自动化部署、日志分析等技术。常用的工具包括Docker、Kubernetes、ELK等 |
二、后台模块:商品管理
1. 基本概念
① spu: 标准化产品单元 不是一件具体的商品 eg iphone14
② sku: 库存量单元 指的就是一件具体的商品 eg iphone14 128G 蓝色
③ 销售属性
出现了商品详情页右侧的商品属性信息
④ 平台属性
出现了商品详情页下方的属性信息
⑤ 图片处理方式
采用oss远程存储方案
数据库保存的是图片的地址
2. 业务话术样板
我们这个电商平台是不支持商家入驻功能的,因此整个商品管理主要是我们这个电商后台系统的一个核心功能模块。主要的功能分为:
1、 对于商品品牌、商品分类、销售属性和平台属性进行管理的一些操作;
2、 对商品有对应操作权限的业务员对于商品的添加、上下架、修改、删除、批量操作、模糊查询等功能。
针对商品这个模块来说,因为不同的分类对应不同的平台属性,平台属性和SKU进行关联,用于后期商品搜索功能实现,可以通过平台属性查询出所选属性下的所有SKU信息;
同时,一个分类下又有多个品牌,品牌下对应多个SPU商品,每一个SPU下有多种销售属性,我们通过商品SPU的不同销售属性组合生成多个SKU。例如 iPhone14是一个SPU,由于iPhone14分内存、颜色等销售属性,内存有64G、128G和256G,颜色有红色、金色和黑色,这样每种不同销售属性组合就是一个新的SKU,64G+黑色、64G+金色、64G+红色,128G+金色…….等。
1、先判断是否有对应的商品添加的权限,如果没有,直接不显示操作按钮;
2、如果有,先选择商品所属的分类,然后商品分类选择之后会对应的查询出所有平台属性和所关联的所有品牌;
3、然后添加产品SPU的一些基本信息(SPU名称、标题、商城价格等);
4、其次,上传产品SPU对应的图片,这块因为整个电商平台中需要保存大量的图片,我们采用了OSS存储服务
5、在SPU列表中有添加sku的按钮,点击后可以添加给SPU添加SKU。进入SKU添加页面时会查出当前SPU的所有销售属性和图片,然后添加SKU信息,选择对应的销售属性,选择对应的图片。
6、调用后台的商品添加接口/服务,然后对应的接口/服务中生成商品添加时的一些默认数据(添加时间、更新时间、操作人等),在商品添加的时候我们默认是下架状态。需要拥有审核功能的业务员针对商品中是否有一些不合法的数据进行审核。
商品上下架
因为商品添加之后,默认是下架状态,如果商品想处于销售状态,必须将商品的状态改为上架状态。
在SKU列表页面中有上、下架操作按钮:
上架时业务:
1、 将SKU信息添加Redis进行缓存
2、 将SKU信息添加到ES一份以供搜索
3、修改上架状态 0未上架 1已上架 2已下架
下架操作:和上架相反
3. 商品模块表关系
三、首页+商品详情
1. 需求分析
① 页面格式相对固定
可以采用页面静态化技术 Thymeleaf
② 会被用户高频访问
预示着读多写少,可以使用缓存技术
③ 数据来源的稳定性
结合页面,商品详情页需要的数据有:
sku的基本信息
sku的所有图片
sku的所有促销信息
sku的所有销售组合
spu的描述信息
spu的所有基本规格分组及规格参数
营销系统中的优惠信息
库存系统中库存信息
金融服务相关系统
① 高并发 短时间内会有大量的请求访问商品详情页或者首页
② 高可用:
- 图片要正常显示
oss 赠送 CDN(内容分发网络) 简称图片/视频/资源加速器
- 页面格式相对稳定
使用页面静态化技术 thymeleaf
- 页面中的数据需要很多个接口提供数据
异步编排
- 数据变化也不大
意味着读多写少,使用redis缓存