有限状态机
finite-state machine FSM 有限状态机
在设计交易订单系统时,会存在正向状态(待付款、待发货、已发货、完成)和逆向状态(取消、退款)等,正向状态和逆向状态应该根据系统的特征决定要不要分离存储。状态设计时应有状态轨迹,方便用户跟踪当前订单的轨迹并记录相关日志,万一出现问题时,可回溯问题。
另外,还有订单状态的变迁,比如待支付、已支付待发货、待收货、完成的迁移。要考虑要不要使用状态机来驱动状态的变更和后续流程节点操作,尤其当状态很多时候使用状态机能更好地控制状态迁移。
还要考虑并发状态修改问题,如一个订单同时只能有一个修改:状态的变更的有序问题,以及状态变更消息先到后到问题,如支付成功消息和用户取消消息的时间差
网友评论