数据传输的一致性保障

131 阅读1分钟

数据传输的一致性保障

一致性,在CAP理论中,分布式系统只能在一致性、可用性、容错性中三选二。所以比较常见的解决一致性的方案就是实现最终一致性。

方案一:使用高可靠的MQ实现最终一致性 参见之前写的文章 一篇文章说清楚rabbitMq前言 标题取得有点夸大哈!只是想总结一下平时项目中的用法! RabbitMq是什么?我觉得 - 掘金 (juejin.cn)

方案二:使用CANEL中间件 + KAFKA 实现数据库监听,达到无侵入式同步

  1. canel监听Mysql binlog日志
  2. 使用kafka做消息传递
  3. 下游服务处理消费 此方案,在这里先简单回答,后面再单开实现方案回答

方案三:分布式事务 使用现成的分布式框架,比如seata,或者模拟事务管理器,实现一个二次提交的概念,将各服务的事务管理SQL语句执行前入库,成功失败进行记录,让事务管理器去重试失败的语句,或者回滚。 一篇文章说清楚事务一篇文章说清楚事务 事务是什么 事务就是一个或多个操作的共进退,要么都执行,要么都不执行 事务要做什么 - 掘金 (juejin.cn)