当前位置: 首页 > article >正文

乐优商城项目总结

文章目录

  • 项目简介
  • 微服务集群
    • 1.enreka注册中心
    • 2. zuul网关
    • 3. 公共工具类
    • 4. 商品微服务
    • 5. 文件上传微服务
    • 6. 搜索微服务
    • 7. 页面静态化微服务
    • 8. 用户微服务
    • 9. 短信微服务
    • 10. 认证微服务
    • 11. 购物车微服务
    • 12. 订单微服务
    • 项目最大的收获
    • 项目遇到的问题

项目简介

乐优商城是一个全品类的电商购物网站。
我们采用以SpringCloud为核心的,基于rest风格的微服务架构搭建。
整个项目采用前后端分离的方式。
前端包括门户系统与后台管理。
其中后台管理主要面向管理人员,管理员可以在后台管理商品的上下架,监控商品的销售状况,是基于单页Vue.js开发的。
门户系统主要面向用户,用户可以在线购买商品,加入购物车等。这里采用vue.js结合nuxt.js(点这里)实现服务端渲染。
后端是基于SpringCloud架构开发,共有十二个微服务。门户系统与后台管理共享这些微服务集群。我主要做的就是将这些提供好的Rest风格的业务接口一一实现。

微服务集群

整个项目分为十二个部分,enreka注册中心、网关、公共工具类以及其他九个微服务。
在这里插入图片描述

1.enreka注册中心

2. zuul网关

zuul网关实现了路由、负载均衡、过滤以及跨域配置。
路由、负载均衡、过滤看这里:点这里
跨域问题详情(点这里)

3. 公共工具类

4. 商品微服务

商品微服务中使用通用mapper实现后台商品管理的CRUD。
但是这里有一个问题就是通用mapper只能处理单表查询。
商品分类管理详情(点这里)
商品规格管理详情(点这里)
商品查询详情(点这里)

5. 文件上传微服务

后台管理中,新增品牌需要添加很多商品的图片,因而独立出一个微服务,专门用来上传图片和文件。
上传微服务详情见这里(点这里)

6. 搜索微服务

搜索微服务中使用Elasticsearch的高级聚合功能,实现对商品的复杂业务搜索功能以及销售业务统计和报表输出。

搜索微服务详情见这里(点这里)

7. 页面静态化微服务

页面静态化微服务中使用Thymeleaf与Nginx实现页面模板和静态化,提高页面响应速度和并发能力。
页面静态化详情见这里:点这里
数据库与elasticsearch与静态化页面消息同步问题:点这里

8. 用户微服务

主要是实现用户的登陆注册,查询用户信息等功能。
用户微服务详情(点这里)

9. 短信微服务

短信微服务中对接阿里云平台,通过RabbitMQ实现异步的短信发送。

10. 认证微服务

认证微服务中使用RSA非对称加密与JWT识别用户身份实现无状态登录。
结合JWT和RSA非对称加密,自定义Feign过滤器实现服务鉴权,解决服务对外暴露的安全问题。
认证微服务详情(点这里)
如何使用Feign过滤器解决?(点这里)
如果实现用户的无状态登录?(点这里)
什么是单点登录,为什么要单点登录?:点这里

11. 购物车微服务

购物车微服务中使用Redis与LocalStorage实现购物车商品的增删。
离线时使用LocalStorage,减轻服务端压力。
购物车微服务详情:点这里

12. 订单微服务

实现订单相关业务(创建订单,查询订单信息)创建订单需要同时减库存,跨服务业务,需要注意事务的处理流程。
订单微服务详情:点这里

项目最大的收获

一是整合了学习到的springboot与springcloud的知识
二是拓展了很多技术的应用,比如elasticsearch与rabbitMQ以及Nginx
三是对整个项目开发情况有了初步的了解

项目遇到的问题

跨域问题Nginx
文件上传问题fastDFS
搜索问题elasticsearch
单点登录问题JWT
页面静态化问题Thymeleaf
数据库同步问题rabbitMQ


http://www.kler.cn/a/525280.html

相关文章:

  • 展示统计信息收集情况
  • 第十四讲 JDBC数据库
  • Haproxy入门学习二
  • 未来无线技术的发展方向
  • 把本地搭建的hexo博客部署到自己的服务器上
  • 58.界面参数传递给Command C#例子 WPF例子
  • AI大模型开发原理篇-3:词向量和词嵌入
  • Ubuntu 16.04安装Lua
  • Yii框架中的正则表达式:如何实现高效的文本操作
  • 【Unity教程】零基础带你从小白到超神part3
  • 观察者模式和订阅发布模式的关系
  • 03链表+栈+队列(D1_链表(D1_基础学习))
  • hdfs之读写流程
  • AI学习指南Ollama篇-使用Ollama构建自己的私有化知识库
  • 【单细胞-第三节 多样本数据分析】
  • 大模型(LLM)工程师实战之路(含学习路线图、书籍、课程等免费资料推荐)
  • 为AI聊天工具添加一个知识系统 之78 详细设计之19 正则表达式 之6
  • 租赁系统为企业资产管理提供高效解决方案促进业务增长与创新
  • premierePro 2022创建序列方式
  • 为AI聊天工具添加一个知识系统 之77 详细设计之18 正则表达式 之5
  • 高级同步工具解析
  • 认识小程序页面,小程序的宿主环境
  • Python 类型注解
  • 新手项目管理的实用工具推荐
  • 《探秘人工智能:从基础到未来变革》
  • U盘打开提示格式化:深度解析与数据恢复全攻略