Java 电商类项目的基础问题#1

传统项目和互联网项目的区别?

两者最大的区别是使用人群不同决定的,面向特定人群的是传统项目,面向所有人的是互联网项目。

电商行业的特点?

技术范围广,技术比较多,技术比较新(如:springcloud, dubbo ..);

要求双高:高可用和高并发;

  • 高可用:(服务器挂掉后,并不影响服务器使用)
    • 集群
    • 负载均衡
    • 限流(当并发过高会导致服务器宕机,通过限流多余的部分会被限制进入服务器,像 lol 手游日服公测?)
    • 降级
    • 熔断
  • 高并发:(支持并发量要大,允许同时多人访问)
    • 分布式,
    • 静态化技术
      • 静态化简单说是用来每个查询页面都提前查询好,并通过引擎生成一个静态页面,从而达到减少对服务器后台的访问
    • CDN服务
      • CDN服务简单说是分节点访问,使得不同地区访问不同地区服务器
    • 异步并发(通过 MQ 来搞异步,多线程搞并发)
    • 缓存技术(如redis)
    • 池化(线程池,连接池)
    • 队列(Mq)

数据量大,业务复杂(表关系)

电商模式有哪些? B C O P 2 是什么含义?

B:business,企业

C:customer,个人

2:to

O:Offline Online,线上线下

P:peer

B2B2C: 既商家对商家又对个人

B2C:商家对个人

架构图

前端的 IP 和端口经过 nginx 反向代理完成统一入口,再通过网关,ribbon 负载均衡和 hystix 失败容错到达微服务群,通过注册中心完成注册服务和订阅服务,微服务群的数据向下进入数据层,数据层包括关系型数据库 mysql,缓存 redis 和索引库 elasticsearch 集群;微服务通过 MQ 完成消息接收和发送,配置中心完成配置的云端备份。

mysql 中存放关键数据,redis 存放高频数据,elasticsearch 存放经常查询的数据

前端框架结构

因为采用前后端分离,后端不再包含前端内容,故罗列一下前端的技术框架。

前端技术:

  • 基础的 html, css, JavaScript

  • JQuery

  • Vue.js

  • 基于 Vue 框架的 UI 框架:Vuetify,作用是使得我们不需要手动去编写 css 样式,和 adminLTE 是一样的,adminLTE 是基于 jQuery 的

    其中 BootStrap 框架也是做 UI的,不过是利用 DOM 操作,借助 jQuery 实现,不支持 Vue

  • 前端构建工具:WebPack,用来打包编译 Vue 组件生成 html,项目编译打包工具

  • 前端安装包工具:npm,作用等价于 maven,像 Linux 中的 yum 方便安装

  • Vue 脚手架: Vue-client,可以用来快速开发一个前端项目

  • Vue 路由:vue-router

  • ajax 框架:axios, 封装了 ajax

  • 基于 vue 的富文本框架:quill-editor

什么是 SPA?

SPA 是 single page application 单页应用,即整个前端项目只有一个 html 页面,剩下的部分全部由 vue 组件来实现。

前端工程 IDEA 中使用 open 打开

posted @ 2020-12-09 00:03  axyio_2K20  阅读(190)  评论(0)    收藏  举报