交易系统设计业务原则

  • 防重
    防止重复扣减库存等

  • 幂等
    防止消息重复消费,防止第三方重试机制产生的影响

  • 流程可定义原则
    将流程分离处理,实现复用
    比如保险公司的保险业务包含承保流程和理赔流程,当需要关联时就可以到达复用

  • 状态与状态机
    比如订单有待付款、待发货、完成正向状态
    撤销、退款等逆向状态,正向处理和逆向处理是否分离存储
    状态设计时应有状态轨迹,方便用户跟踪同时记录轨迹,以便出现问题时可以回溯

  • 后台系统操作可反馈
    在设计系统时需考虑效果的可预览和可反馈,以便系统升级等

  • 后台系统审批化
    对于一些重要的操作需要设计审批流程、比如调整价格、并对操作记录日志
    保证操作可回溯,可审计

  • 文档和注释

    开发的系统应该有文档和注释,
    文档和注释都是为了后来接手项目人员轻松一点
    一般系统应该有自己文档库(设计架构、设计思想、数据字典、业务流程、现有问题等)

  • 备份
    任何事都可能发生故障
    所以要做好代码本分和人员备份
    代码备份将代码放入代码仓库进行本分,且必须具备多版本功能
    人员备份是为了防止某人离职而使新上任的人员没人带领而手忙脚乱
    所以必要的时候最好需要两个人或多个人了解某个系统

你可能感兴趣的:(高可用高并发系列)