系统设计之幂等性
閱讀本文約花費: 2 (分鐘)
- 幂等性
- 是分布式系统服务的一种承诺, 承诺只要调用接口成功, 外部无论何种原因的多次调用对系统的影响是一致的。
- 支付公司内部,往往指业务活动、资源变更等重复请求,同一个服务操作实例最多只允许执行一次。
- 控制层级
- 基础控制:最基础的幂等性控制需要完成唯一性控制。
- 深层控制:和其他业务要素一起来进行幂等判断,进行业务处理。
- 设计规范
- 使用上游流水做幂等控制
- 全局的唯一处理流水号做幂等控制
- 幂等字段的业务含义
- 幂等字段的空间和时间的全局性、扩展性
- 幂等控制的控制层级
- 底层控制机制的实现
- 幂等服务的约定
- 幂等性的处理机制约定
- 幂等性交互的约定
- 重发场景
- 交易类服务禁止网络自动重发
- 消息、定时任务和同步请求综合考虑
- 上下游调用异常的场景确认
- 重发就严
系统设计之并发互斥设计 Ø状态机: p复杂的业务处理场景,使用状态机进行状态迁移控制。 Ø状态机设计: p保证状态机统一进行控制,不能设计多个状态机或迁移变更模块。 p设计终态,且保证终态不能被继续迁移。 p保证状态迁移和业务处理的一致性。 p穷举所有可能状态。 p防止状态机状态设计腐化,使用状态迁移表或状态迁移图。 p不能用同一个状态字段表达多种状态迁移。 No tags for this post.