微服务电商项目,必须搞起来(什么是微服务项目)

大家好,田哥

之前,有很多人找我聊说:自己没有实际项目经验,面试的时候心里都很发慌。

于是,ta来了,名字咱们就叫他:快购商城

项目介绍

本项目命名为快购商城,分为两个端:用户端商家端

前台商城系统(用户端):包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、提醒发货、订单取消、个人订单管理、会员中心、个人积分、帮助中心等。

商家管理系统(商家端):包含数据面板、轮播图管理、商品管理、订单管理、会员管理、积分管理、分类管理、订单提醒处理等。

微服务电商项目,必须搞起来(什么是微服务项目)

功能会逐步优化和完善,本项目现在是构建了第二个版本。第一个版本是单体架构,关于单体项目这里就不少了。

技术栈

项目中运用到的技术栈:

  • Spring Boot:构建项目基础
  • Dubbo:服务治理和调用
  • Zookeeper:注册中心、分布式锁
  • MyBatis:数据库持久化
  • thymeleaf:前端渲染引擎
  • Redis:缓存、分布式锁、排行榜等
  • MySQL:数据存储
  • Rabbitmq:消息队列异步化、解耦
  • Seata:分布式事务
  • OSS:图片存储

开发工具:

  • IDEA
  • JDK1.8
  • Navicat for MySQL
  • Typora 文档编写
  • ZooInspector zk看客户端

数据库表

整个项目目前共有10张表(后面肯定会继续扩展的,所以表也会不断增多的):

  • tb_mall_admin_user 管理员表
  • tb_mall_carousel首页轮播商品表
  • tb_mall_goods_category 物品分类表
  • tb_mall_goods_info 物品详情表
  • tb_mall_index_config 首页配置表
  • tb_mall_order订单表
  • tb_mall_order_item 订单详情表
  • tb_mall_shopping_cart_item 购物车
  • tb_mall_user 用户表
  • tb_user_points 用户积分表
  • tb_login_log用户登录日志表
  • tb_order_remind提醒商家发货

项目结构介绍

微服务电商项目,必须搞起来(什么是微服务项目)

happy-shopping-v2 模块介绍

mall-web用户端展示项目

微服务电商项目,必须搞起来(什么是微服务项目)

由于本项目不是前后端分离,前端渲染使用的是Thymeleaf,所以就会存在这么一个前端web服务,也可以当做是一个网关系统,不做具体业务,只是调用服务,数组整合然后展示。

mall-admin商家端展示项目

微服务电商项目,必须搞起来(什么是微服务项目)

同mall-web系统类似,这里就不再赘述了。

mall-goods商品服务

微服务电商项目,必须搞起来(什么是微服务项目)

商品服务包含以下内容:

  • 首页展示的轮播图
  • 商品种类
  • 首页配置展示
  • 商品信息

Dubbo服务形式供外部调用。

mall-order订单服务

微服务电商项目,必须搞起来(什么是微服务项目)

订单服务包含以下内容:

  • 订单
  • 订单详情
  • 购物车
  • 提醒商家

Dubbo服务形式供外部调用。

mall-job定时任务服务

定时任务规划内容:

  • 定时查询支付单状态
  • 定时扫描订单超时未支付:用户订单提交了,但已超过应支付时间
  • 购物车商品下架:用户已加入购物车的商品下架,对应购物车商品也失效。

定时任务处理相关,项目以单独Spring Boot项目存在

mall-mq消息队列服务

微服务电商项目,必须搞起来(什么是微服务项目)

消息队列项目包含以下内容:

  • 登录日志记录:用户每次登录进行日志记录
  • 购物车数量更新:每次加入购物车、订单提交等都应该更新购物车数量。
  • …..

以单独Spring Boot项目存在

mall-common公共服务

微服务电商项目,必须搞起来(什么是微服务项目)

公共服务暂时还没实现具体功能,目前只是做一个统一工具类,然后其他服务就可以引用该jar包了。

后期可能会做一些服务,比如:分布式生成ID

目前就是一个单独的jar包,后期规划成Dubbo服务供外部系统调用。

mall-user用户服务

微服务电商项目,必须搞起来(什么是微服务项目)

用户服务主要包含以下内容:

  • 用户信息
  • 商家信息
  • 用户积分

该服务以Dubbo服务供外部系统调用

系统功能点

用户端功能点

  • 首页商品展示
  • 首页商品搜索
  • 商品详情
  • 注册
  • 登录
  • 退出
  • 添加到购物车
  • 查看购物车
  • 提交订单
  • 订单支付
  • 取消订单
  • 我的订单列表
  • 我的积分
  • 提醒发货

后台管理端功能点

  • 商品添加
  • 商品修改
  • 商品下架
  • 商品上架
  • 首页轮播图配置
  • 首页热销商品配置
  • 首页新品上线配置
  • 首页推送商品配置
  • 用户管理
  • 商品分类管理
  • 禁用
  • 解除禁用
  • 订单修改
  • 订单查询
  • 配货完成
  • 出库
  • 关闭订单
  • 积分管理
  • 消息管理
  • 修改密码
  • 退出

暂时想到这些,后面想到了继续完善。

项目收获

通过上面这个项目,你将可以收获如下技能包:

  • 分布式锁在项目中如何用
  • 线程池在项目中如何使用
  • 缓存如何在项目使用
  • 如何防止缓存穿透
  • 分布式session如何处理
  • 分布式事务在项目中如何运用
  • 如何利用Spring Boot Dubbo Zookeeper MyBatis MySQL Redis Rabbitmq构建一个微服务架构
  • ……

好吧,就这么多了。

我会把每个功能是怎么实现的,都整理出来,调用逻辑流程图等,最后都以文档形式呈现给大家。

欢迎大家点赞、转发

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年6月18日 上午9:45
下一篇 2022年6月18日 上午9:47

相关推荐

  • 项目研发成本管理系统

    项目研发成本管理系统 随着科技的不断发展,企业的研发工作也在不断地升级。传统的手动方式已经无法满足现代企业对于项目研发成本管理的需求。因此,项目研发成本管理系统应运而生。本文将介绍…

    科研百科 2025年7月3日
    1
  • 免费项目数据管理系统

    免费项目数据管理系统 随着数字化时代的到来,项目管理水平也在不断提高。但是,传统的项目管理系统往往需要付费购买,这对于小型企业和创业公司来说是一个不小的负担。现在,我们推出了一款免…

    科研百科 2025年1月16日
    0
  • 项目安全管理系统方案

    项目安全管理系统方案 随着现代项目管理的日益复杂和多样化,项目安全管理系统成为了一种必要的工具。一个有效的项目安全管理系统可以提高项目的安全性、可靠性和透明度,从而确保项目的顺利进…

    科研百科 2024年12月27日
    1
  • 广东科研项目包干制

    广东科研项目包干制:科技创新的推动力 近年来,随着科技的不断发展和进步,广东科研项目包干制成为了科技创新的重要推动力之一。广东科研项目包干制是指对科研项目的经费进行包干管理,确保科…

    科研百科 2025年4月6日
    1
  • 国家科研项目申报条件

    国家科研项目申报条件 随着科技的不断发展,国家科研项目申报条件也在不断变化。作为科研项目申报的第一步,我们需要满足一定的条件才能申报国家科研项目。本文将介绍国家科研项目申报条件的相…

    科研百科 2025年4月3日
    0
  • 强化村(社区)基层党建保障(加强社区基层党建工作的重点)

    一是坚持按需投入。十八大以前村级党组织承担工作相对简单,服务群众的深度较浅,村干部多数为兼职,与低待遇是相适应的。十八大以后从脱贫攻坚到与乡村振兴有效衔接,村(社区)党组织承担的工…

    科研百科 2023年7月26日
    178
  • 医疗智能化管理系统项目

    医疗智能化管理系统项目 随着科技的不断发展,医疗行业也在不断地进步。其中,医疗智能化管理系统项目是其中的一个重要组成部分。这个项目旨在通过智能化的手段,提高医疗行业的效率和质量,为…

    科研百科 2025年6月28日
    0
  • wx.getBLEDeviceCharacteristics 微信小程序蓝牙 微信小程序打印机

    1 微信小程序蓝牙功能开发概述 第一步 判断当前微信版本,是否支持蓝牙 通信 第二步 打开蓝牙 第三步扫描设备 第四步连接设备 第五步 获取服务与特征值 看是否支持读写数据操作 第…

    科研百科 2023年4月3日
    169
  • 销售管理技巧与激励步骤(销售管理技巧与激励步骤有哪些)

    管理现状 确定环境——刚性管理(服从、执行) (高度)不确定环境——弹性管理(激发、鼓励、引导) 管理结构: 自上而下——自下而上(海底捞服务案例) 从“要我干”到“我要干” 释放…

    科研百科 2022年9月16日
    290
  • dnc项目管理系统

    DCC项目管理系统:提升工作效率和质量的利器 随着现代项目管理的日益复杂和多元化,传统的项目管理系统已经难以满足企业的需求。因此,越来越多的企业开始采用Dnc(分布式项目)管理系统…

    科研百科 2024年12月12日
    0