SpringCloud Alibaba实战(2:电商系统业务分析)

简介: SpringCloud Alibaba实战(2:电商系统业务分析)

     

选用了很常见的电商业务来进行SpringCloud Alibaba的实战。

当然,因为仅仅是为了学习SpringCloud Alibaba,所以对业务进行了大幅度简化,这里只取一个精简版的用户下单业务。

1、电商业务流程

电商系统下单业务流程图:

image.png

这个流程同样进行了简化,一般浏览完商品可能不会直接下单,而是先加入购物车,这里我们略去了这一环节。

接下来,我们要对业务进行细化,可以通过时序图来对业务流程进行细化。

image.png

2、扣库存时机

注意看,在我们的泳道图中,扣库存是在用户下订单之后。

在电商系统里,扣库存一般主要有两种方式:

  • 下单扣库存:下单扣库存是用户体验比较好的方式,避免用户支付的时候发现库存不足。缺点是不合适商品库存有限的情况,因为未付款的订单会影响到其他人购买这款商品。
  • 支付扣库存:支付扣库存对用户体验很不好,因为用户可能在支付的时候发现库存不足。但是比较适合秒杀一类的业务,避免未支付的订单占用库存。

但是下单减库存应该设置一个超时的时间,如果在一定时间内没有完成支付,那么就应该及时释放库存。

zai

3、电商业务流程模块划分

通过上面的时序图,我们对电商下单的业务已经有了一个比较清楚的认识,接下来,对具体的业务模块进行划分:

  • 1、用户模块:需要有一个用户服务,用于用户基本信息的管理,包括用户名、等级等等。
  • 2、商品模块:用户浏览商品,需要有一个 商品模块来支撑,给用户展示商品的介绍、价格等等这些信息。
  • 3、订单模块:用户下单需要订单模块来创建订单。
  • 4、支付模块:订单创建完成,需要用户付款,这里需要有一个 支付模块 来实现支付功能,用户成功完成支付之后,需要把订单的状态变更为 「已支付」。
  • 5、库存模块:支付完成,就需要运营人员发货,这个步骤,需要扣减对应商品的库存数量,所以要有库存模块,发货完成后,还需要把订单状态变更为「已发货」。

当然,真实的业务比这要复杂很多,我们只考虑一个简单的用户下单业务,所以主要业务模块就是这些。

image.png

我们采用纵向划分的服务划分方式,以业务为维度,完成了服务的划分。


“简单的事情重复做,重复的事情认真做,认真的事情有创造性地做!”——

我是三分恶,可以叫我老三/三分/三哥/三子,一个能文能武的全栈开发,咱们下期见!


目录
相关文章
|
2月前
|
SpringCloudAlibaba API 开发者
新版-SpringCloud+SpringCloud Alibaba
新版-SpringCloud+SpringCloud Alibaba
|
24天前
|
JSON SpringCloudAlibaba Java
Springcloud Alibaba + jdk17+nacos 项目实践
本文基于 `Springcloud Alibaba + JDK17 + Nacos2.x` 介绍了一个微服务项目的搭建过程,包括项目依赖、配置文件、开发实践中的新特性(如文本块、NPE增强、模式匹配)以及常见的问题和解决方案。通过本文,读者可以了解如何高效地搭建和开发微服务项目,并解决一些常见的开发难题。项目代码已上传至 Gitee,欢迎交流学习。
Springcloud Alibaba + jdk17+nacos 项目实践
|
12天前
|
自然语言处理 Java API
Spring Boot 接入大模型实战:通义千问赋能智能应用快速构建
【10月更文挑战第23天】在人工智能(AI)技术飞速发展的今天,大模型如通义千问(阿里云推出的生成式对话引擎)等已成为推动智能应用创新的重要力量。然而,对于许多开发者而言,如何高效、便捷地接入这些大模型并构建出功能丰富的智能应用仍是一个挑战。
57 6
|
11天前
|
消息中间件 自然语言处理 Java
知识科普:Spring Cloud Alibaba基本介绍
知识科普:Spring Cloud Alibaba基本介绍
39 2
|
16天前
|
缓存 NoSQL Java
Spring Boot与Redis:整合与实战
【10月更文挑战第15天】本文介绍了如何在Spring Boot项目中整合Redis,通过一个电商商品推荐系统的案例,详细展示了从添加依赖、配置连接信息到创建配置类的具体步骤。实战部分演示了如何利用Redis缓存提高系统响应速度,减少数据库访问压力,从而提升用户体验。
42 2
|
19天前
|
Dubbo Java 应用服务中间件
Dubbo学习圣经:从入门到精通 Dubbo3.0 + SpringCloud Alibaba 微服务基础框架
尼恩团队的15大技术圣经,旨在帮助开发者系统化、体系化地掌握核心技术,提升技术实力,从而在面试和工作中脱颖而出。本文介绍了如何使用Dubbo3.0与Spring Cloud Gateway进行整合,解决传统Dubbo架构缺乏HTTP入口的问题,实现高性能的微服务网关。
|
28天前
|
Java 数据库连接 Spring
【2021Spring编程实战笔记】Spring开发分享~(下)
【2021Spring编程实战笔记】Spring开发分享~(下)
25 1
|
2月前
|
负载均衡 Java 网络架构
实现微服务网关:Zuul与Spring Cloud Gateway的比较分析
实现微服务网关:Zuul与Spring Cloud Gateway的比较分析
77 5
|
18天前
|
XML Java 数据格式
Spring IOC容器的深度解析及实战应用
【10月更文挑战第14天】在软件工程中,随着系统规模的扩大,对象间的依赖关系变得越来越复杂,这导致了系统的高耦合度,增加了开发和维护的难度。为解决这一问题,Michael Mattson在1996年提出了IOC(Inversion of Control,控制反转)理论,旨在降低对象间的耦合度,提高系统的灵活性和可维护性。Spring框架正是基于这一理论,通过IOC容器实现了对象间的依赖注入和生命周期管理。
46 0
|
3月前
|
人工智能 前端开发 Java
【实操】Spring Cloud Alibaba AI,阿里AI这不得玩一下(含前后端源码)
本文介绍了如何使用 **Spring Cloud Alibaba AI** 构建基于 Spring Boot 和 uni-app 的聊天机器人应用。主要内容包括:Spring Cloud Alibaba AI 的概念与功能,使用前的准备工作(如 JDK 17+、Spring Boot 3.0+ 及通义 API-KEY),详细实操步骤(涵盖前后端开发工具、组件选择、功能分析及关键代码示例)。最终展示了如何成功实现具备基本聊天功能的 AI 应用,帮助读者快速搭建智能聊天系统并探索更多高级功能。
1188 2
【实操】Spring Cloud Alibaba AI,阿里AI这不得玩一下(含前后端源码)