导图社区 优思安商城项目总结
这是一篇关于优思安商城项目总结的思维导图,分为项目和项目组相关的问题、项目总结、寻找项目途径、整体结构等展开。
编辑于2021-09-01 15:34:40优思安商城项目总结
项目和项目组相关的问题
并发量
并发量:1千~2千左右 1万~2万同时在线 10万~20万个用户
项目组人员配置
项目经理:1人,项目管理 产品经理:1人,确定需求以及给出产品原型图 前端团队:2人,根据产品经理给出的原型制作静态页面 后端团队:7人,实现产品功能 测试团队:1人,测试所有功能 运维团队:1人,项目发布、维护
开发周期
采用迭代式开发,一般一次迭代周期2个月左右
30多个模块,总时长7个月
版本号
springboot:2.1.6 springcloud:G mybatis:3.5.1 mysql:5.7
补充
ajax跨域:https://www.bilibili.com/video/BV1j4411p7UJ?p=78
跨域
http://ip:port/xxxx http:1/1001/xxx http:1/1002/xxx
支付:https://www.bilibili.com/video/BV1j4411p7UJ?p=222
子主题
子主题
项目总结
系统架构搭建
1.电商的概念
c2c:淘宝集市 b2c:京东 b2b:阿里巴巴批发网 b2c平台:京东商城、天猫商城
2、项目简介
前端分离的项目: 前台:VUE+ELEMENT UI nginx 后台:微服务 Spring Cloud+Spring boot 公共注册中心 eureke 公共配置中心 config 商品服务: eurek client + redis+mq+es+mysql+ boot+mvc+通用mapper 商品详情
后台管理
1、商品管理:管理商品、FastDFS 2、商品规格管理 3、广告管理: 前台--->nignx----》后台-->
商城首页
1、商城分类菜单 a、先查reids,如果有直接返回 b、再查询mysql并把查询结果缓存到redis ------------------------------------------------------ 2、首页广告 a、先查reids,如果有直接返回 b、再查询mysql并把查询结果缓存到redis a、缓存同步 --------------------------------------------------------- 3、后台添加、删除、修改广告时,直接删除redis中的内容 b、持久化 c、集群
商品搜索
1、商品导入索引库 批量导入、分页每次1000条 2、商品搜索 注:读写原理、域和使用原则 3、索引库同步 a、为啥使用mq? b、item---->mq---->seach
商品详情
1、thymeleaf+nginx 2、redis+设置有效期 a、为什么要使用redis
缓存穿透:缓存空对象+设置有效期(都没有) 缓存击穿:分布式锁(数据库有) 缓存雪崩:不同商品设置不同有效期
单点登录
1、注册 2、登录(存):redis(token,user) cookie(token_key,token) 3、查询(取):cookie(token) redis(user)
购物车
1、未登录操作购物车(cookie) 2、已登录操作购物车(redis) 3、购物车同步(未登录--->已登录,登录后合并cookie和reids并删除cookie)
订单
1、强制登录 2、保存订单信息 3、mq扣减库存 4、quartz定时任务扫描过期订单(redis分布式锁防止任务重复执行)
分布式事务
可靠消息最终一致性: 1、保证上游服务把消息成功发送 本地消息表+quartz 2、下游服务把消息成功消息 持久化+手动确认 3、下游服务对消息做幂等 消息记录表
分布式配置中心config、bus
1、分布式配置中心config 集中管理配置文件、不同环境不同配置 2、消息总线bus 运行期间当配置发生变动时,服务器不需重启即可同步配置
服务容错保护hystrix、网关服务zuul
1、容错保护
通过hystrix对下游服务做降级处理 通过hystrix对下游服务做熔断处理 ---------------------------- 降级的好处? 熔断的好处?熔断的效果?
2、网关服务
1、路由:所有请求通过zuul访问上游服务 2、限流:使用令牌桶算法实现对上游服务的限流 3、降级:通过zuul对上游服务做降级处理
寻找项目途径
猪八戒
url:http://www.zbj.com/
类型;教育:会计、消防工程师、司法考试、 旅游、食材、养生医疗
商城汇总网
url:https://top.chinaz.com/hangye/index_shopping_dianshang.html
整体结构
项目部署
1.项目的生命周期
立项
需求的收集阶段(需求工程师)
需求文档
设计阶段(产品经理)
开发阶段(架构师, 后端开发,前端开发 ,架构设计)
流程图、接口文档、数据库的设计文档
编写源代码
测试(测试人员)
发布(运维人员)
2.前后台应用程序
3.前后台需要的第三软件
4.前台: nodejs webpack nginx ---- 1台
5.后台: 微服务 ----》 jdk ----> tomcat 类型
服务器
redis服务器
mq服务器
es服务器
fastdfs服务器
mysql服务器
mycat服务器
技术栈
1. jekens power designer/visio E-R图 2. Linux常用命令 3. 跨域
部署分析
common_config common_eureka common_zuul usian_cart_service-----------》购物车服务 usian_cart_web--------------》C端 usian_content_service ------》广告类服务 usian_content_web----------》B端 usian_detail_web------------》C端 商品详情 usian_item_service----------》商品服务 usian_item_web-------------》B端 商品模块 usian_order_service ---------》订单服务 usian_order_web------------》C端 订单模块 usian_portal_web------------》C端 首页 usian_search_service--------》搜索服务 usian_search_web-----------》C端 首页搜索 usian_sso_service-----------》用户中心服务 usian_sso_web---------------》C端 用户模块 usian_manage_web ---------》B端 前端 usian_protal_web------------》C端 前端 需要19台服务器-------------------38台
fastDFS------------》2 Nginx------------》2 redis------------》6 elasticsearch------------》2 rabbitmq------------》2 mysql------------》2(主从) mycat------------》1 logstash------------》1 需要18台服务器------------》18 共需要56台服务器,买服务器得60万左右 就算买阿里云服务一台一年也要1000多。 (需要搭建伪分布式)
服务器规划
项目 服务器数量 伪分布式 -------------------------------------------------------------------------------- fastDFS 2 1 Nginx 2 1 redis 6 1 elasticsearch 2 1 rabbitmq 2 1 mysql 2 1 mycat 1 1 logstash 1 1 ----------------------------------------------------------8------------------------ usian_item_service 2 usian_content_service 2 usian_search_service 2 ----------------------------------------------------------1------------------------ usian_order_service 2 usian_sso_service 2 usian_cart_service 2 -----------------------------------------------------------1------------------------ usian_item_web 2 usian_content_web 2 usian_search_web 2 -----------------------------------------------------------1------------------------ usian_order_web 2 usian_sso_web 2 usian_cart_web 2 -----------------------------------------------------------1------------------------ common_config 2 common_eureka 2 common_zuul 2 -----------------------------------------------------------1------------------------ usian_detail_web usian_portal_web -----------------------------------------------------------1------------------------ usian_manage_web 2 usian_protal_web 2 -----------------------------------------------------------1-------------------------- 共15台,阿里云服务器(4核8G)