冰冰商城项目_项目进度记录


一、项目介绍

拼博到无能为力,努力到感动自己
本次项目为B2C电商平台,电商平台分类:

  • B2C(平台运营⽅即商品的卖家比如⼩⽶商城)
  • C2B2C(类似一条街上有多家店铺比如淘宝)

Java应用领域广,但主要用于Web的项目开发,Web项目分两种:

  • 一种是企业级开发(专供某个组织使用的比如学校的学生管理系统)
  • 一种是互联网开发(提供给互联网用户使用的系统比如电商、短视频)

技术选型

  • 项目架构:前后端分离

  • 前端技术:vue、axios、meiziUI以及layui和bootstap(做UI界面)

  • 后端技术:SpringBoot+Mybatis、Restful、swagger

  • 服务器搭建:Linux、nginx

二、项目架构的演进

2.1单体架构

前后端项目部署在同一台服务器上

一个tomcat后端服务器大概是200-300的并发,一个nginx前端服务器大概5w

缺点:对静态资源的访问也会落到Tomcat上

2.2前后端分离

前端和后端分开开发和部署

优点:对静态资源的访问和对接口的访问进行分离,静态资源的访问用Nginx,tomcat只负责对接口的访问

2.3集群搭建

image-20220514094240724

前后端分离只能在一定程度上解决并发问题

  • 服务器集群:多台服务器构成的一个整体,
  • 服务器节点:集群中的某台服务器就是一个节点
  • 负载均衡:将对集群的并发请求按需分配到不同的服务器节点上

2020双11淘宝1s的50多万并发是目前的记录

优点:提供了并发能力、高可用性

2.4分布式

image-20220514094356577

mysql默认最大连接151

  • 基于redis实现分布式锁

  • mycat分布式数据库

  • redis集群

  • 数据库中间件:ElasticSearch或MQ做搜索优化

  • 消息队列中间件

2.4微服务架构

互联网项目三高:

  • 高并发
  • 高可用:分布式
  • 高性能:微服务

将原来一个应用中开发的多个模块进行划分,单独开发和部署

微服务架构保证高可用和高性能

  • 一个模块的问题会导致整个服务挂掉
  • 随着功能的不断增加,整个服务挂掉的可能性增加
  • 服务间的通信问题

三、项目搭建

maven的聚合工程搭建后端,前端采用vue和axios,后端使用springboot整合

3.1技术储备

  • SpringBoot:实现无配置的ssm整合
  • Maven聚合工程:实现模块的复用

—————————————–分割线2022-5-14——————————————————


文章作者: 冰冰的小屋
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 冰冰的小屋 !
  目录