优乐商城05-1 项目环境搭建
0.学习目标
- 了解电商行业
- 了解乐优商城项目结构
- 能独立搭建项目基本框架
- 能参考使用ES6的新语法
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.数据
2016双11开场30分钟,创造每秒交易峰值17.5万笔,每秒支付峰值12万笔的新纪录。菜鸟单日物流订单量超过4.67亿,创历史新高。
1.2.3技术特点
2.常用电商模式
- B2C:商家对个人,如:亚马逊、当当等
- C2C平台:个人对个人,如:闲鱼、拍拍网、ebay
- B2B平台:商家对商家,如:阿里巴巴、八方资源网等
- O2O:线上和线下结合,如:饿了么、电影票、团购等
- P2P:在线金融,贷款,如:网贷之家、人人聚财等。
- B2C平台:天猫、京东、一号店等
3.专业术语
SaaS:软件即服务
SOA:面向服务
RPC:远程过程调用
RMI:远程方法调用
PV:(page view),即页面浏览量
用户每1次对网站中的每个网页访问均被记录1次。用户对同一页面的多次访问,访问量累计
UV:(unique visitor),独立访客
指访问某个站点或点击某条新闻的不同IP地址的人数。在同一天内,uv只记录第一次进入网站的具有独立IP的访问者,在同一天内再次访问该网站则不计数。
PV与带宽:
计算带宽大小需要关注两个指标:峰值流量和页面的平均大小。
- 计算公式是:网站带宽= ( PV * 平均页面大小(单位MB)* 8 )/统计时间(换算到秒)
- 为什么要乘以8?
- 网站大小为单位是字节(Byte),而计算带宽的单位是bit,1Byte=8bit
- 这个计算的是平均带宽,高峰期还需要扩大一定倍数
- PV、QPS、并发
- QPS:每秒处理的请求数量。
- 比如你的程序处理一个请求平均需要0.1S,那么1秒就可以处理10个请求。QPS自然就是10,多线程情况下,这个数字可能就会有所增加。
- 由PV和QPS如何需要部署的服务器数量?
- 根据二八原则,80%的请求集中在20%的时间来计算峰值压力:
- (每日PV * 80%) / (3600s * 24 * 20%) * 每个页面的请求数 = 每个页面每秒的请求数量
- 然后除以服务器的QPS值,即可计算得出需要部署的服务器数量
4.项目开发流程
项目经理:管人
技术经理:
产品经理:设计需求原型
测试:
前端:大前端:UI 前端页面。
后端:
移动端:
项目开发流程图:
公司现状:
5.乐优商城介绍
5.1项目介绍
- 乐优商城是一个全品类的电商购物网站(B2C)。
- 用户可以在线购买商品、加入购物车、下单
- 可以评论已购买商品
- 管理员可以在后台管理商品的上下架、促销活动
- 管理员可以监控商品销售状况
- 客服可以在后台处理退款操作
- 希望未来3到5年可以支持千万用户的使用
5.2系统架构
架构图
乐优商城架构缩略图:
6.系统架构解读
整个乐优商城可以分为两部分:后台管理系统、前台门户系统。
- 后台管理:
- 后台系统主要包含以下功能:
- 商品管理,包括商品分类、品牌、商品规格等信息的管理
- 销售管理,包括订单统计、订单退款处理、促销活动生成等
- 用户管理,包括用户控制、冻结、解锁等
- 权限管理,整个网站的权限控制,采用JWT鉴权方案,对用户及API进行权限控制
- 统计,各种数据的统计分析展示
- 后台系统会采用前后端分离开发,而且整个后台管理系统会使用Vue.js框架搭建出单页应用(SPA)。
- 后台系统主要包含以下功能:
- 前台门户
- 前台门户面向的是客户,包含与客户交互的一切功能。例如:
- 搜索商品
- 加入购物车
- 下单
- 评价商品等等
- 前台系统我们会使用Thymeleaf模板引擎技术来完成页面开发。出于SEO优化的考虑,我们将不采用单页应用。
- 前台门户面向的是客户,包含与客户交互的一切功能。例如:
无论是前台还是后台系统,都共享相同的微服务集群,包括:
- 商品微服务:商品及商品分类、品牌、库存等的服务
- 搜索微服务:实现搜索功能
- 订单微服务:实现订单相关
- 购物车微服务:实现购物车相关功能
- 用户中心:用户的登录注册等功能
- Eureka注册中心
- Zuul网关服务
7.项目搭建
7.1技术选型
- 基础的HTML、CSS、JavaScript(基于ES6标准)
- JQuery
- Vue.js 2.0以及基于Vue的框架:Vuetify(UI框架)
- 前端构建工具:WebPack
- 前端安装包工具:NPM
- Vue脚手架:Vue-cli
- Vue路由:vue-router
- ajax框架:axios
- 基于Vue的富文本框架:quill-editor
- 基础的SpringMVC、Spring 5.x和MyBatis3
- Spring Boot 2.1.10版本
- Spring Cloud Greenwich.SR4
- Redis
- RabbitMQ
- Elasticsearch
- nginx
- FastDFS
- MyCat
- Thymeleaf
- mysql 5.7
7.2开发环境
7.3域名
我们在开发的过程中,为了保证以后的生产、测试环境统一。尽量都采用域名来访问项目。
二级域名:manage.leyou.com/item , api.leyou.com
我们可以通过switchhost工具来修改自己的host对应的地址,只要把这些域名指向127.0.0.1,那么跟你用localhost的效果是完全一样的。
优乐商城05-1 项目环境搭建相关推荐
- 谷粒商城笔记+踩坑(1)——架构、项目环境搭建、代码生成器
导航: 谷粒商城笔记+踩坑汇总篇_谷粒商城笔记踩坑6_vincewm的博客-CSDN博客 目录 1.项目介绍 1.1 微服务架构图 1.2. 微服务划分图 2.项目环境搭建 2.1. 虚拟机搭建环境 ...
- linux基本项目环境搭建
文章目录 linux基本项目环境搭建 java环境搭建 获取java源码包 解压 配置环境变量 使配置文件生效 验证 nginx安装 下载(java也可用此方法下载) 解压 配置(configure) ...
- Day133.尚品汇:项目介绍、Linux软件环境部署、项目环境搭建、表设计
目录 一.电商项目介绍 二.Linux 软件环境部署 三.项目环境搭建 1.Maven 回顾 2.ElasticSearch 四.关于表设计 首页分类表 一.电商项目介绍 我们为什么要讲电商? 1. ...
- 途牛旅游项目环境搭建
途牛旅游项目环境搭建 准备工作 项目演示 熟悉静态页面 查看真实在线的途牛旅游项目 其实也是一个商城而已 重点项目搭建,核心模块:登录 准备工作 三层架构 (1)三层架构 (2)目录结构: 准备工作 ...
- 1.探花交友项目环境搭建
探花交友项目环境搭建 一.开发工具 探花交友项目的开发统一使用提供的Centos7环境,该环境中部署安装了项目所需要的各种服务,如:RabbitMQ,MongoDB.Redis等. 虚拟机的root用 ...
- 美多后台管理和项目环境搭建
美多后台管理 Django框架已经提供了一个Admin管理后台,但是Admin的本身的页面可修改的页面布局效果比较少,无法满足公司定制页面需求,这时候就需要独立开发一套后台管理系统,满足公司对后台数据 ...
- 企业实战(2) 项目环境搭建之Tomcat部署
前言: Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选.对于一个初学者来说, ...
- Vue项目实战之人力资源平台系统(一)框架介绍及项目环境搭建
前言 目录 前言 一.vue-element-admin简介 二.项目环境搭建 2.1 nodejs环境 2.2 git版本控制 2.3 vscode编辑器 三.拉取vue-element-admin ...
- 云服务器部署项目环境搭建
云服务器部署项目环境搭建 这里以阿里云为例: 一.安装JavaJDK 指令: yum -y install java-1.8.0-openjdk* 二.下载部署TomCat 去TomCat官网下载:T ...
- django项目环境搭建
项目环境搭建 在github上创建项目 官网: https://github.com/ 点击new 新建项目 公钥绑定 使用 git clone 项目到本地 一.在码云平台创建项目 版本控制的种类: ...
最新文章
- 石油污染土壤微生物群落构建与生物多样性研究
- 160个Crackme030之一元一次方程
- 阿里云知位停车:让车主好停、车场好管
- 【RK3399Pro学习笔记】十六、ROS中的常用可视化工具
- js判断操作系统与浏览器
- 遗传算法MATLAB
- 什么是特洛伊木马病毒?
- 免费开源的电路图和PCB绘图软件KiCAD
- 接口测试用例设计的方法
- 葡萄柚能放冰箱保存吗 葡萄柚怎么保存时间长
- GEE开发之Modis_LST地表温度数据分析
- Python小游戏:猜大小
- python的手机官方下载地址,手机python下载安装教程
- 一种通过物理分离实现WSUS伸缩性的方案
- (数据库系统概论|王珊)第七章数据库设计-第三节:概念结构设计
- windows计划任务执行,但是程序未执行
- 搜索网络中的计算机名,怎样搜索一个局域网里全部机器的名字和IP地址
- 神兽传说1 java_神兽传说RPG
- 通用流量录制回放工具 jvm-sandbox-repeater 尝鲜 (三)—— repeater plugin 开发
- Oracle 数据库 Scott 用户介绍
热门文章
- 【脚本】扇贝单词自动播放
- Python将对象的值传给列表,打印列表返回<__main__.Card object at 0x000001AA99E4E438>
- 详解 | 大数据在智慧城市中的应用
- 弘辽科技:如何做好一家女装店铺?只要模特好看就可以了吗
- 纯CSS3海底泡泡多角鱼动画js特效
- 装有Linux DIY牛人百元人民币昂贵甜头液晶一体机
- 调试挂死的Explorer
- 一、【python计算机视觉编程】基本的图像操作和处理
- java项目-第97期基于springboot的企业ERP物流管理系统-springboot毕业设计
- 【2024考研】计算机考研,4轮复习时间安排