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

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

技术杂谈小彩虹2021-07-09 9:59:48110A+A-

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

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

1、电商业务流程

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

电商系统下单业务

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

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

用户下单示意图

2、扣库存时机

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

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

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

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

zai

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

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

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

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

用户下单业务模块划分

我们采用纵向划分的服务划分方式,以义务为维度,对服务进行划分。


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

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



参考:

【1】:小专栏 SpringCloudAlibaba微服务实战

【2】:电商系统是如何设计的?

【4】:详解:电商前端库存逻辑的设计

点击这里复制本文地址 以上内容由权冠洲的博客整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

支持Ctrl+Enter提交

联系我们| 本站介绍| 留言建议 | 交换友链 | 域名展示
本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除

权冠洲的博客 © All Rights Reserved.  Copyright quanguanzhou.top All Rights Reserved
苏公网安备 32030302000848号   苏ICP备20033101号-1

联系我们