SpringCloud Alibaba实战(2:电商系统业务分析)
2021-06-03 08:30
831 查看
选用了很常见的电商业务来进行SpringCloud Alibaba的实战。
当然,因为仅仅是为了学习SpringCloud Alibaba,所以对业务进行了大幅度简化,这里只取一个精简版的用户下单业务。
1、电商业务流程
电商系统下单业务流程图:
这个流程同样进行了简化,一般浏览完商品可能不会直接下单,而是先加入购物车,这里我们略去了这一环节。
接下来,我们要对业务进行细化,可以通过时序图来对业务流程进行细化。
2、扣库存时机
注意看,在我们的泳道图中,扣库存是在用户下订单之后。
在电商系统里,扣库存一般主要有两种方式:
- 下单扣库存:下单扣库存是用户体验比较好的方式,避免用户支付的时候发现库存不足。缺点是不合适商品库存有限的情况,因为未付款的订单会影响到其他人购买这款商品。
- 支付扣库存:支付扣库存对用户体验很不好,因为用户可能在支付的时候发现库存不足。但是比较适合秒杀一类的业务,避免未支付的订单占用库存。
但是下单减库存应该设置一个超时的时间,如果在一定时间内没有完成支付,那么就应该及时释放库存。
zai
3、电商业务流程模块划分
通过上面的时序图,我们对电商下单的业务已经有了一个比较清楚的认识,接下来,对具体的业务模块进行划分:
- 1、用户模块:需要有一个用户服务,用于用户基本信息的管理,包括用户名、等级等等。
- 2、商品模块:用户浏览商品,需要有一个 商品模块来支撑,给用户展示商品的介绍、价格等等这些信息。
- 3、订单模块:用户下单需要订单模块来创建订单。
- 4、支付模块:订单创建完成,需要用户付款,这里需要有一个 支付模块 来实现支付功能,用户成功完成支付之后,需要把订单的状态变更为 「已支付」。
- 5、库存模块:支付完成,就需要运营人员发货,这个步骤,需要扣减对应商品的库存数量,所以要有库存模块,发货完成后,还需要把订单状态变更为「已发货」。
当然,真实的业务比这要复杂很多,我们只考虑一个简单的用户下单业务,所以主要业务模块就是这些。
我们采用纵向划分的服务划分方式,以义务为维度,对服务进行划分。
"简单的事情重复做,重复的事情认真做,认真的事情有创造性地做!"——
我是三分恶,可以叫我老三/三分/三哥/三子,一个能文能武的全栈开发,咱们下期见!
参考:
【1】:小专栏 SpringCloudAlibaba微服务实战
【2】:电商系统是如何设计的?
【4】:详解:电商前端库存逻辑的设计
相关文章推荐
- Spring Cloud Alibaba | Sentinel:分布式系统的流量防卫兵进阶实战
- 微服务架构JAVA,SpringCloud,日志分析,工作流,高并发解决方案,tomcat负载均衡,大型电商项目实战
- SpringCloud Alibaba微服务实战十四 - SpringCloud Gateway集成Oauth2.0
- SpringCloud Alibaba微服务实战十三 - Oauth2.0安全认证
- “大型票务系统”和“实物电商系统”按系统边界分析各种业务形式
- SpringCloud Alibaba微服务实战一 - 基础环境准备
- 19.SpringCloud实战项目-SpringCloud整合Alibaba-Nacos配置中心
- SpringAop实战之记录关键业务请求分析
- SpringCloud Alibaba微服务实战十二 - 网关限流
- springcloud+docker+elk搭建日志分析系统
- SpringCloud Alibaba微服务实战十一 - Swagger接口文档聚合
- 经营分析系统实战录(1):业务需求
- Spring Cloud组件——基于电商系统实例讲解
- Spring Cloud Alibaba 实战 之 Nacos 服务注册和发现
- SpringCloud Alibaba微服务实战 - 基础环境准备
- 【案例实战】餐饮企业分店财务数据分析系统解决方案:业务需求
- 《Spark商业案例与性能调优实战100课》第14课:商业案例之纯粹通过DataSet进行电商交互式分析系统中特定时段购买金额Top10 和访问次数增长Top10
- 【案例实战】餐饮企业分店财务数据分析系统解决方案:业务需求
- 《Spark商业案例与性能调优实战100课》第15课:商业案例之纯粹通过DataSet进行电商交互式分析系统中各种类型TopN分析实战详解
- 视频教程-Spring Cloud 亿级账户系统 TCC分布式事务 高阶实战 -Java