SpringBoot+VUE+Ubuntu+Redis+Mysql+RabbitMQ+nginx等实战总结知识点:

1:项目总结前端

项目介绍:
   一、乐优商城是一个全品类的电商购物网站(B2C)。
   二、用户能够在线购买商品、加入购物车、下单、秒杀商品
   三、能够品论已购买商品
   四、管理员能够在后台管理商品的上下架、促销活动
   五、管理员能够监控商品销售情况
   六、客服能够在后台处理退款操做
   七、但愿将来3到5年能够支持千万用户的使用

2:项目要点:vue

要点:
   一、 整个系统采用了先后端分离的开发模式
   二、前端基于vue相关技术栈进行开发,并经过ajax与后端服务进行交互。
   三、前端进行nginx部署,并利用nginx实现对后台服务的反向代理和负荷均衡(proxy_pass http://192.168.161.1:9001;)
   四、部分热点静态资源,碰到流量高峰的时候会考虑使用CDN服务(内容分发网络)
   五、使用lvs(Linux虚拟服务器)来实现nginx的主从,保证nginx的高可用
   六、后端采用了springCloud技术栈来搭建微服务集群,并对外提供Rest风格接口。
   七、Zuul做为整个微服务入口,实现请求路由、负载均衡、限流、权限控制等功能。
   八、后端微服务集群会经过Spring-Cloud-Config结合Spring-Cloud-Bus来实现统一配置管理和配置动态刷新。
   九、经过Spring-Cloud-Sleuth 和ZipKin实现服务的链路追踪

3.系统架构解读webpack

整个乐优商城能够分为两部分:后台管理系统、前台门户系统

3.1 前端ios

前端页面分红两部分
    一、一部分面向公司内部人员,实现对商城平常业务管理。后台管理页面。
    二、一部分面向买家,实现商品的展现。搜索购买等功能。前台   3.2 门户页面。
 3.1.1后台管理页面:
   技术实现:
     一、后台管理页面基于VUE实现单页应用(SPA)。
     二、使用webpack做为项目构建和打包工具
     三、使用npm做为依赖管理
     四、使用Vuetity(基于Vue的UI框架,相似element-ui)构建页面
     五、经过axios发起ajax请求,与后台交互
   功能模块:
     一、商品管理,包括商品分类、品牌、商品规格等信息的管理
     二、销售管理,包括订单统计、订单退款处理、促销活动生成等
     三、用户管理,包括用户控制、冻结、解锁等
     四、权限管理,整个网站的权限控制,采用JWT鉴权方案,对用户及API进行权限控制
     五、统计,各类数据的统计分析展现
  3.1.2前台门户页面:
    技术实现:
     一、基于Vue技术栈
     二、使用Nuxt的服务端渲染方式,再也不采用单页应用,有利于(SEO搜索引擎优化)。
     三、其余与后台管理页面技术相似
   前台门户面向的是客户,包含与客户交互的一切功能。例如:
     一、搜索商品
     二、加入购物车
     三、下单
     四、评价商品等等

四、前台和后台系统,都共享相同的微服务集群,其中包括:nginx

4.1  商品微服务:商品及商品分类、品牌、库存等的服务
            一、商品分类管理
            二、商品品牌管理
            三、商品规格参数管理:由于规格的可变性,采用竖表设计,分为规格和规格组表
            四、商品管理:SPU和SKU的设计,以及SKU的动态属性。
            五、库存管理:库存加减采用乐观锁方案,另外定时对库存判断,库存不足可通知管理员。
  4.2  搜索微服务:实现搜索功能
            一、采用Elasticsearch完成商品的全文检索功能
            二、搜索过滤
            三、集群
  4.3  订单微服务:实现订单相关
            一、订单表设计,状态记录
            二、建立订单须要同时减库存、跨服务业务、须要注意事务处理,流程。
                    1.1:查询订单提交的商品信息
                    1.2:计算订单总价(计算商品总价、计算运费、计算促销金额)
                    1.3:写入订单、订单详情、订单状态
                    1.四、减库存、远程同步调用商品微服务,实现减库存
            若是采用异步减库存、可能须要引入分布式事务。
  4.4  购物车微服务:实现购物车相关功能
            一、离线购物车:主要使用了localStorage保存到客户端,几乎不与服务器交互
            二、在线购物车:使用了redis实现。(数据库 值 和  key)
  4.5  用户中心:用户的登陆注册等功能
            一、用户注册
            二、注册数据校验
            三、查询用户信息
  4.6  认证中心:用户权限及服务权限认证
            一、权限管理CRUD
            二、登陆token生成
            三、登陆token认证
            四、服务间token生成
            五、服务间token认证
            六、解决cookie被禁用(跨域问题) 首先提示用户cookie不能够被禁用;把cookie放入头中返回,JS获取头信息,存入web存储(localstorage,SessionStorage),每次请求都须要手动携带token,写入头中
            七、解决cookie被盗用(受权)咱们的cookie没法被篡改 ;使用HTTPS协议,防止数据泄露 ;加入ip地址识别身份到payload中
            八、微服务地址被暴露 首先地址不会被暴露,由于全部的微服务都经过Zuul进行访问,对外暴露的只有Zuul;万一暴露了,咱们能够加入服务间鉴权
  4.7  短信服务:完成短信发送
           一、对接阿里云 平台,经过MQ(MQ消息队列)实现异步短信发送    
  4.8  支付服务:完成支付平台对接
           一、对接微信支付
  4.9  Eureka注册中心
  4.10 Zuul网关服务
  4.11 Spring Cloud Config配置中心
相关文章
相关标签/搜索