查看原文
其他

这个 SpringBoot 电商系统值得推荐!

JavaGuide 2022-10-28

The following article is from CS指南 Author 大白

大家好,我是 Guide!

有很多小伙伴问我有没有实战类项目推荐,今天就来推荐一个高质量的微服务 B2B2C 电商商城系统。

废话不多说,先来看效果图。

1商城效果图

商城 Web 前端:

mall4cloud-web

商城 H5 前端:

mall4cloud-h5

商城小程序前端:

mall4cloud小程序前端

商城后台管理系统:

mall4cloud后端管理系统

当我们选择一个开源项目的时候,界面样式其实并不是主要考虑因素,只是加分项,最重要的其实是这个项目使用到的技术必须是目前比较主流的。

如果一个项目使用的是比较远古的技术的话,对于个人学习来说,这个项目几乎没有任何学习价值,对于公司使用来说,这个项目的后续维护和开发成本过高。

下面我们就来看看这个项目的技术架构是什么样的。

2项目技术架构

这个商场基于互联网目前比较主流的微服务技术架构,基于 Spring Boot + Spring Cloud Alibaba,主要用到了下面这些技术:

  • Nacos : 主要用于服务注册和发现,配合 Feign 实现远程服务调用。Github 地址:https://github.com/alibaba/nacos 。
  • Seata :一站式分布式事务解决方案,提供了 AT、TCC、SAGA 和 XA 事务模式,开箱即用。由于这个项目是微服务架构,因此,存在一个请求涉及到多个数据库的情况,需要用到 Seata 来保证分布式事务。Github 地址:https://github.com/seata/seata 。
  • MySQL :本地数据库。
  • Redis : 分布式缓存,用于提高接口的相应速度,同时减轻数据库的压力。Github 地址:https://github.com/redis/redis 。
  • RocketMQ :消息队列。Github 地址:https://github.com/apache/rocketmq
  • ElasticSearch :目前最主流的搜索服务解决方案,为商城提供商品搜索功能需要用到它。Github 地址:https://github.com/elastic/elasticsearch 。
  • MinIO :一款开源的对象存储服务,非常适合用来存储图片、视频等静态文件。通常情况下,如果我们不选择使用阿里云、腾讯云等云厂商提供的对象存储服务的话,那 MinIO 就是一个自建云存储服务非常不错的选择。相比于老牌的 FastDFS,MinIO 或许是更好的选择。Github 地址:https://github.com/minio/minio 。
  • Canal :数据同步,支持将一台 MySQL 中的数据同步到其他数据源比如 ES、RocketMQ、HBase 或者另外一台 MySQL。Github 地址:https://github.com/alibaba/canal 。
  • Leaf :主要用于生成分布式 ID。Github 地址:https://github.com/Meituan-Dianping/Leaf 。
  • ......
mall4cloud项目用到的技术

项目技术架构图如下 :

mall4cloud架构图

其实这个架构图画的并不是特别好,我来给大家梳理一下:

  1. Nginx 负责前端请求的第一层转发,Spring Cloud Gateway 写的网关负责第二层转发。
  2. 多个服务之间通过 Nacos + Feign 的形式进行调用。
  3. 商城数据存储使用的是 MySQL 数据库,有些访问频率比较高的数据会放到 Redis 中以提高响应速度,减轻数据库压力。
  4. 消息队列 RocketMQ 可以用来解耦和削峰。
  5. MinIO 主要用于存储图片之类的文件。
  6. Canal 主要用于同步数据库和 ES 的数据。
  7. ......

3最后

这个项目的后端目前已经完全开源,地址:https://gitee.com/gz-yami/mall4cloud 。商城 Web 端的话,暂时还没有开源,预计后面也会开源出来。

如果大家想要学习这个项目的话,Guide 建议大家先把这个项目用到的一些技术学一学,至少也要写一些简单的 Demo。就比如说这个项目用到了 Nacos + Feign 实现远程服务调用,那你就可以先自己学一下 Nacos + Feign 的各种玩法。

好了!今天的项目推荐就到这里了。我们下期再见!

··········  END  ··············

也许你还想看  | 官宣!我升级了!!!  | 抄袭狗,你冬天睡觉脚必冷!!!  | 用 Java 写个沙盒塔防游戏!已上架 Steam,Apple Store  | 这样使用 IDEA ,效率提升10倍!| IDEA 高效使用指南  | 豆瓣 9.7!这本技术书籍直接封神了  | 阿里开源的15个顶级Java项目!!!  | 面试八股文,YYDS!

简历指导/Java 学习/面试指导/面试小册,欢迎加入我的知识星球(公众号后台回复“星球”即可)。

如果本文对你有帮助的话,欢迎点赞&在看&分享,这对我继续分享&创作优质文章非常重要。感谢🙏🏻

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存