脚本常见问题

常见问题

  1. 先主动写缓存,再入DB

  2. 性能问题:批量处理

  3. 逻辑问题:事务是保证一致性

强一致性

回滚的成本有点高

逻辑简单:异步处理

保证服务接口的幂等性,消息日志可以存储到本地文本、数据库或消息队列,再通过业务规则自动或人工发起重试

多个事务:分布式事务转换为多个本地事务,然后依靠重试等方式达到最终一致性

业务逻辑无法保证幂等,则要增加一个去重表或者类似的实现:发消息的时候消息并不立即发出,而是向消息库插入一条消息记录,然后在事务提交的时候再异步将消息发出,发送消息如果成功则将消息库里的消息删除

补偿机制:重试 或 回滚

方案

流程和事务别搞混,可以强一致,可以弱一致。

脚本注意点

重试机制

异常处理

人工干预机制

故障恢复

Last updated