复杂业务的应对之道(Cola4.x)
Cola4.x 学习实践
一、学习背景
互联网电商零售公司,交易中台-订单组。面对之前订单的各种复杂性,团队老大借鉴了cola的思想写了一套相对来说比较完善的框架,可以很好的应对针对于不同业态和场景下的业务场景,使得我们的代码不至于像屎山那样越堆越多,旨在于写出了任何人都可以看得明白的代码。
由于这个契机,知道了cola,从此对其想法和思想有些着迷,所以自己动手,结合了公司的业务,写了个小demo,可以给正在处理业务的童鞋们提供一个参考的方向。
二、业务背景介绍
没有业务背景,任何技术都没有了立足点。业务驱动了技术的转型和创新,技术反哺了业务的进一步发展。
订单业务是贯穿了整个交易中台的核心业务,虽然QPS没有商品和促销那样的巨量,但是一个零售业务的订单,随随便便也是有个日均百万订单的。
伴随着,业务的不断拓展,可能订单中有了很多的分类。
订单业务层级分类
订单业态:作为零售业,可能出现不同的业态,类似区别于不同的平台,例如同属阿里的天猫和淘宝。可以理解最大层级上的区分。
订单渠道:可以分为线上渠道,线下渠道 等
订单类型:TOB订单 TOC订单 团购订单 等
订单来源:普通订单,外部订单(京东,天猫,淘宝,拼多多)等
订单状态流转:状态机控制
订单动作:创建订单、修改订单、支付订单、拣货(差异订单)、发货、签收、申请退款、审核、退款、评价等。
订单状态(TOB):未支付、未调配、已调配、已截单、发货中、已签收、已取消、已完成、退款审核中、退款中、已关闭。
订单状态(TOC):未支付、拣货中、发货中、已签收、已取消、已完成、退款审核中、退款中、已关闭。
订单的大体流程都是基本相同的,主体确定了之后,也就相当于一栋建筑物的大概设计都要搞好。
接下来就是针对于不同的天气,温度,场景来设置这栋建筑的风格,使其能够兼容。
倒似乎有了些海纳百川的意思,任你业务如何变化,实现如何复杂,我自有办法破除,只要你仍处于我先前设计的规则之中,在我的领域里,我说了算。
参考博客:
https://blog.csdn.net/significantfrank/article/details/110934799
https://blog.csdn.net/significantfrank/article/details/85785565
https://blog.csdn.net/significantfrank/article/details/112570279
代码地址:https://github.com/crazytwist/cola4.x.git