业务设计原则

下面这些内容摘自张开涛的书籍《亿级流量网站架构核心技术》,推荐大家阅读本书。

业务设计原则,主要有:

  1. 防重设计
  2. 幂等设计
  3. 流程可定义
  4. 状态与状态机
  5. 后台系统操作可反馈
  6. 后台系统审批化
  7. 文档和注释
  8. 备份

防重设计

比如,结算页面要考虑重复提交的问题,还有下单时扣减库存要防止重复扣减的问题。解决方案可以考虑防重key、防重表。而有些场景下如重复支付,是因为有的电商网站同时支持微信支付、京东支付,渠道不一样是无法防止重复支付的。但是在系统设计时,需要将支付的每笔情况记录下来。

幂等设计

在交易系统中,经常会用到消息,而现有消息中间件基本不保证不发生重复消息的消费。因此,需要业务系统在重复消费时进行幂等处理。还有在使用第三方支付时,第三方支付会进行异步回调,也要做好回调的幂等处理。

流程可定义

如果接触过保险业务,就会发现不同保险的理赔服务是不一样的。在设计系统时就设计了一套专门的理赔流程模块。而承保流程和理赔流程是分离的,在需要时进行关联,从而可以复用一些理赔流程,并提供个性化的理赔流程。

状态与状态机

在设计交易订单系统时,会存在正向状态和逆向状态,正向状态,例如待付款、待发货、已发货;逆向状态如取消订单、退款等。正向状态和逆向状态应该根据系统的特征来决定要不要分离存储。状态设计时应有状态轨迹,方便用户跟踪当前订单的轨迹并记录相关日志,万一出问题时可回溯问题。

另外,还有订单状态的变迁,例如待支付、已支付待发货、待收货的迁移。要考虑要不要使用状态机来驱动状态的变更和后续流程节点的操作,尤

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值