基于 SpringCloud 的在线交易平台乐优商城的设计与实现(二)

摘要

第1章 绪论

1.1 研究背景

1.2 国内外发展现状

1.2.1 全国发展现状和特点

以上内容请查看
基于 SpringCloud 的在线交易平台乐优商城的设计与实现(一)
相关免费源码资源
乐优商城

1.2.2 国内发展现状和特点

  国内电子商务发展可追溯从 1999 年起,随着阿里巴巴成立 B2B 电商平台,2003 年京东在北京成立 B2C 电商平台,从此开启来我国电子商务快速发展的篇章。国内电商发展史如图 1-3 所示:

图1-3

国内电子商务的现状和特点:
(1) 新零售时代流量获取话题突出 平台多样模式创新争取用户。
(2) 电商体系加速成熟 行业发展将更显规范化。
(3) 消费者电商购物更注重品质 平台背书影响力扩大。
(4) 电商平台加强社交化布局 组团拼购模式发展速度提升。
(5) 基础设施完善助力电商平台渗透加强 下沉城市争夺将更趋激烈。

1.3 乐优商城的开发意义

  虽然现如今电商行业发展迅速,平台成熟,但是小的个体商家想要在头部电商平台中交易还是代价很高,各种供应链拖欠货款层出不穷,当客户和平台由于商品问题产生纠纷后,平台整体会倾向于客户处理,总之,还是要有自己的商城系统,构成所谓的两条腿发展,做到既可以利用第三方平台销售,也需要自己建立平台。我们开发的乐优商城,具备全品类商品的买卖能力,并且组建了一整套高性能服务,可以实现高并发高可用,满足电商的各种促销。为中小企业全方位解决搭建交易平台的难题。

1.4 乐优商城开发功能目标

(1) 商品管理模块:实现商品分类,品牌,规格参数,商品自身管理,商品的上架,下架处理。
(2) 搜索系统:基于 elasticSearch 实现商品搜索,搜索自动提示,高亮,排序,搜索过滤。
(3) 登录系统:实现用户的登录以及登出,过期时间刷新。
(4) 购物车系统:基于 SpringData 及 MongoDB 实现购物车增删改查。
(5) 下单系统:下单减库存,使用分布式事务解决方案 Seata
(6) 支付系统:调用第三方电子支付平台完成支付及回调,动态修改订单状态为已支付,为后续发货物流,做好保障工作。

第2章 系统开发环境与技术

2.1 总体开发环境简介

  按照软件工程对软件工作阶段的划分,软件开发分为需求分析、软件设计、编码、测试及维护等不同阶段,相应的软件工具则包括需求工具,软件设计工具,软件构造工具,软件测试工具,软件维护工具等。现在很多工具都逐渐集成在一起形成集成开发环境(IDE),比如 Intellij IDEA,可以完成从软件的设计(UML)到软件的编程(Java),再到测试(JUnit)等大部分工作。因此当多种工具集成在一起时,我们也可以说这是一种开发环境。

2.1.1 开发环境与技术路线

  整个系统采用 Java 语言基于 Spring 全家桶,与 MySQL 数据库,redis,Elasticsearch,MongoDB 相结合而开发,并且以 mybatis-plus 进行数据库连接及访问操作;系统前台界面采用基于 Vue 前端框架以及 Vuetify 前端 UI框架开发的静态 web 服务,并通过 SpringMVC 作为后台核心调度控制,并借助 Elasticsearch 实现实时搜索。

2.1.2 开发设计思想

  1.系统的优点不仅仅要体现在功能上,还要在使用上具有方便、快捷、高效的特点
  2.系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于系统维护。
  3.在服务器、数据库等多个层次上提供行之有效的安全防范措施,可确保系统安全稳定地运行。
  4.具有高度的灵活性和良好的可扩充性,可随着用户需求的变化在功能和规模两方面随时进行扩展和升级。

2.2 微服务简介

  微服务 (Microservices) 就是一些协同工作小而自治的服务。2014 年,Martin Fowler 与 James Lewis 共同提出了微服务的概念,定义了微服务是由以单一应用程序构成的小服务,自己拥有自己的行程与轻量化处理,服务依业务功能设计,以全自动的方式部署,与其他服务使用 HTTP API 通信。同时服务会使用最小的规模的集中管理能力,服务可以用不同的编程语言与数据库等组件实现 。

2.2.1 微服务的特点:

  单一职责:微服务中每一个服务都对应唯一的业务能力,做到单一职责

  微:微服务的服务拆分粒度很小,例如一个用户管理就可以作为一个服务。每个服务虽小,但“五脏俱全”。

  面向服务:面向服务是说每个服务都要对外暴露 Rest 风格服务接口 API。并不关心服务的技术实现,做到与平台和语言无关,也不限定用什么技术实现,只要提供 Rest 的接口即可。

  自治:自治是说服务间互相独立,互不干扰

  团队独立:每个服务都是一个独立的开发团队,人数不能过多。

  技术独立:因为是面向服务,提供 Rest 接口,使用什么技术没有别人干涉。

  前后端分离:采用前后端分离开发,提供统一 Rest 接口,后端不用再为 PC、移动端,开发不同接口。

  数据库分离:每个服务都使用自己的数据源。部署独立,服务间虽然有调用,但要做到服务重启,不影响其它服务。有利于持续集成和持续交付。每个服务都是独立的组件,可复用,可替换,降低耦合,易维护。

2.2.2 微服务结构图:

在这里插入图片描述

图2-1

2.3 VUE 简介

  Vue.js 是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和 Vue 生态系统支持的库而开发的复杂单页应用。
  Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
  Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动复杂的单页应用。

2.4 结构化查询语言(Structured Query Language)

  结构化查询语言(Structured Query Language)即 SQL,是一种标准的关系型数据库查询语言。SQL 语言的主要功能就是同各种数据库建立联系,进行沟通。按照 ANSI(美国国家标准协会)的规定,SQL 被作为关系型数据库管理系统的标准语言。SQL 语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如 Oracle, Sybase, Microsoft SQL Server, Access 等都采用了 SQL语言标准。虽然很多数据库都对 SQL 语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。SQL 为许多任务提供了命令,包括:
  1.查询数据
  2.在表中插入、修改和删除记录
  3.建立、修改和删除数据对象
  4.控制对数据和数据对象的存取
  5.保证数据库一致性和完整性

第 3 章 系统分析与设计

持续更新中…

最近更新

  1. TCP协议是安全的吗?

    2024-04-29 05:58:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-29 05:58:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-29 05:58:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-29 05:58:03       20 阅读

热门阅读

  1. 01背包dp问题

    2024-04-29 05:58:03       10 阅读
  2. 2024.4.28力扣刷题记录-数组篇记录3(未完)

    2024-04-29 05:58:03       18 阅读
  3. C++宝强越狱1.0.7版本上市

    2024-04-29 05:58:03       14 阅读
  4. VUE3与Uniapp 五 (v-if、v-show和template的使用)

    2024-04-29 05:58:03       13 阅读
  5. selenium如何开启手机模式

    2024-04-29 05:58:03       14 阅读