一,项目介绍
0. 学习目标
- 了解vue-router使用
- 了解webpack使用
- 会使用vue-cli搭建项目
- 独立搭建后台管理系统
- 了解系统基本结构
1. 了解电商行业
学习电商项目,自然要先了解这个行业,所以我们首先来聊聊电商行业
1.1 项目分类
主要从需求方、盈利模式、技术侧重点这三个方面来看它们的不同
1.1.1 传统项目
各种企业里面用的管理系统(ERP、HR、OA、CRM、物流管理系统。。。。。。)
- 需求方:公司、企业内部
- 盈利模式:项目本身卖钱
- 技术侧重点:业务功能
1.1.2 互联网项目
- 门户网站、电商网站:baidu.com、qq.com、taobao.com、jd.com…
- 需求方:广大用户群体
- 盈利模式:虚拟币、增值服务、广告收益。。。。
- 技术侧重点:网站性能、业务功能
而我们今天要聊的就是互联网项目中的重要角色:电商
1.2 电商行业的特点
1.2.1 谈谈双十一
双十一是电商行业的一个典型代表,从里面我们能看出电商的普遍特点:
1.2.2 技术特点
从上面的数据我们不仅要看到钱,更要看到背后的技术实力。正是得益于电商行业的高强度并发压力,促使了BAT等巨头们的技术进步。电商行业有些什么特点呢?
- 技术范围广
- 技术新
- 要求双高:
高并发(分布式、静态化技术、CDN服务、缓存技术、异步并发、池化、队列)
高可用(集群、负载均衡、限流、降级、熔断) - 数据量大
- 业务复杂
1.3 常见电商模式
电商行业的一些常见模式:
- B2C:商家对个人,如亚马逊、当当等
- C2C平台:个人对个人,如闲鱼、拍拍网、ebay等
- B2B:商家对商家,如阿里巴巴、八方资源网等
- O2O:线上对线下结合,如饿了么、电影票、团购等
- P2P:在线金融、贷款,如网贷之家、人人聚财等
- B2C平台:天猫、京东、一号店等
2. 乐优商城
2.1 项目介绍
- 乐优商城就是一个全品类的电商购物网站(B2C)。
- 用户可以在线购买商品、加入购物车、下单、秒杀商品
- 可以评论已购买商品。
- 管理员可以在后台管理商品的上下架、促销活动
- 管理员可以监控商品的销售状况
- 客服可以在后台处理退款操作
- 希望未来3到5年可以支持千万用户的使用
2.2 系统架构
2.2.1 架构图
乐优商城架构缩略图:
2.2.2 系统架构解读
前端页面
整个乐优商城从用户角度来看,可以分为两部分:后台管理、前台门户。
- 后台管理‘
- 后台系统主要包含以下功能:
- 商品管理,包括商品分类、品牌、商品规格等信息的管理
- 销售管理,包括订单统计、订单退款处理、促销活动生成等
- 用户管理,包括用户控制、冻结、解锁等
- 权限管理,整个网站的权限控制,采用JWT鉴权方案,对用户及API进行权限控制
- 统计,各种数据的统计分析展示
- …
- 后台系统会采用前后端分离开发,而且整个后台管理系统会使用Vue.js框架搭建出单页应用(SPA)。
- 预览图:
- 后台系统主要包含以下功能:
- 前台门户:
- 前台门户面向的是客户,包含与客户交互的一切功能。例如:
- 搜索商品
- 加入购物车
- 下单
- 评价商品等等
- 前台系统需要使用Nuxt(服务端渲染)结合Vue完成页面开发。处于SEO优化的考虑,我们将不采用单页应用。
无论是前台门户、还是后台管理页面,都是前端页面,我们的系统采用前后端分离方式,因此前端会独立部署,不会在后端服务出现静态资源。
- 前台门户面向的是客户,包含与客户交互的一切功能。例如:
后端微服务
无论是前台还是后台系统,都共享相同的微服务集群,包括:
- 商品微服务:商品及商品分类、品牌、库存等服务
- 搜索微服务:实现搜索功能
- 订单微服务:实现订单相关功能
- 购物车微服务:实现购物车相关功能
- 用户微服:用户的登录注册、用户信息管理等功能
- 短信微服:完成各种短信的发送任务
- 支付微服:对接各大支付平台
- 授权微服:完成对用户的授权、鉴权等功能
- Eureka注册中心
- Zuul网关服务
- Spring Cloud Config配置中心
- …