数据一致性方案

方案1

  1. A业务处理和消息发送在同一个本地事务中执行,执行完成后本地消息表中有条status=0记录;
  2. B收到消息后,在同一个事务中进行业务处理和消息发送(返回响应);
  3. 如果B处理失败,由Broker进行失败重试;
  4. A收到响应消息后更新对应的消息状态为1;
  5. A端本地会启动定时任务,定时扫描状态为0的消息,发出告警,甚至进一步可以执行数据补偿操作;

转账方案设计

方案2

  1. A业务处理和消息发送在同一个本地事务中执行,执行完成后产生一条业务记录;
  2. B收到消息后,进行业务处理,处理完成数据库产生一条业务记录;
  3. 如果B处理失败,由Broker进行失败重试;
  4. 所有坏账通过对账系统进行发现和处理;

转账方案设计

可靠性方案

方案1:传统的数据库主备方案

缺点:

  1. 主备系统需要自己运维,特别是跨地域容灾时运维成本更大;
  2. 主备切换时,要么服务不可用,保障数据强一致;要么服务可用,容忍数据不一致;

方案2:OceanBase

优点:

  1. 三地五中心,可做到城市级别的容灾;
  2. 一键式扩容和缩容;

参考:

  1. https://blog.csdn.net/u014401141/article/details/71086757
  2. 虎嗅网:https://www.huxiu.com/article/231957.html

相关文章:

  • 2021-05-10
  • 2021-07-25
  • 2021-10-10
  • 2021-05-30
  • 2021-09-18
  • 2022-12-23
  • 2022-01-14
猜你喜欢
  • 2021-07-09
  • 2021-06-18
  • 2021-08-10
  • 2022-01-12
  • 2021-11-12
  • 2021-04-28
  • 2022-02-17
相关资源
相似解决方案