乐优商城项目总结

项目简介

乐优商城是一个全品类的电商购物网站。
我们采用以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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万码无虫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值