新闻资讯

合树科技 您身边的软件顾问专家

您当前的位置:首页 > 新闻 > 行业新闻
新闻 news

电商订单管理系统架构发展有哪些?

2019-08-15 浏览



电商平台的需求一直在变化,随之订单系统的架构也会随之变化,架构设计就是一个持续改进的过程,这篇文章还有好多细节未提及,如果你想把订单系统做的更好,需要更加深入系统的每一个环节,比如:容灾、灾备、分流、流控都需要慢慢雕琢,在架构中没有完美的架构只有平衡的架构,不要追求单点的完美,而是要追求多点的平衡。


订单系统架构的演变


第一代:简单粗暴


第一代的问题
第一代系统由于,订单状态是在特定的服务器进行处理,如果服务一旦出现问题就会造成订单的丢失,导致订单流程无法进行下去。
总结:
1、服务单点
2、数据库单点

第二代:无状态异步驱动

第二代系统对于第一代有了很好的提升,应用服务器不再保留订单状态,但是这样的系统设计同时也给数据库服务器造成了高频查询带来的压力,导致数据库相对比较脆弱。
总结:
状态扫描带来的负载

第三代:队列模式

第三代是对于第二代的升级,订单的状态流转不再依靠高频查询数据库来获得,通过队列模式,很好减轻了数据库的压力,但是第三代依然有问题,就是该系统中server2成了核心,该模块的维护就会变得很复杂,这也是架构设计的关键,没有完全的完美架构,只能得到一个平衡架构。


三代系统演变中的最佳实践


实践1: 重试和补偿
多个机器重试不能同步, 需要随机跳跃(Jitter)和指数回退 (exponential back-off)
正在重试的服务也可能宕机,需要保存状态 (State)


实践2: 幂等性
你没收到响应不见得失败了
你响应了不见得别人以为你成功了
重试必需带上唯一的有意义的ID
每一个服务的调用都必须是幂等的
非只读的服务必须保存状态


实践3: 一致性实践
订单系统有强一致性需求
无单点故障的分布式系统的一致性是非常困难的问题
已有算法:Paxos,现有开源系统(e.g. Zookeeper)
有时候单点故障并不可怕,常用的,成熟的关系数据库方案也是一个不错的选择
云端分布式无单点故障的系统


实践4: 工作流 (Workflow)
可扩展性:
无状态的Worker,分布式部署,分布式存储 工作流状态
可靠性:
定时器、重试、幂等性、强一致性的状态
可维护性:
工作流的描述和执行Activity描述相分离, 支持异步触发,支持版本和升


现在市场上针对电商企业有很多的订单系统软件,如合树科技的管易云订单管理系统软件,版本比较新,功能多。


呼叫工程师,讲解更多行业解决方案

申请体验服务咨询
有什么可以帮助您?
立即与金蝶管易云专家联系,在线咨询产品和电商解决方案,或致电
400-668-3277