原文:分布式场景下如何保证消息队列实现最终一致性

考虑一个分布式场景中一个常见的场景:服务A执行某个数据库操作成功后,会发送一条消息到消息队列,现在希望只有数据库操作执行成功才发送这条消息。下面是一些常见的作法: . 先执行数据库操作,再发送消息 有可能order新增成功,发送消息失败。最终形成不一致状态。 . 先发送消息,再执行数据库操作 有可能消息发送成功,而order新增失败,从而形成不一致状态。 . 在数据库事务中,先发送消息,再执行数 ...

2019-06-12 21:24 0 1664 推荐指数:

查看详情

使用MQ来保证分布式事务的最终一致性

前言 之前我们讨论了如何拆分一个订单下单的一个服务(https://www.cnblogs.com/linkstar/p/9610268.html) 从单体到微服务的拆分,当时我们只是对原来的整个服 ...

Sun Oct 14 05:24:00 CST 2018 2 2469
消息组件】可靠消息服务实现分布式系统的最终一致性

一、导读 在之前的文章中我们介绍了如何基于RocketMQ搭建生产级消息集群,以及2PC、3PC和TCC等与分布式事务相关的基本概念(没有读过的读者详见👇推荐阅读)。在这篇文章中我们将介绍RocketMQ的事务消息相关的内容,并通过一些实践和大家一起来探索事务消息如何解决分布式系统中的分布式 ...

Fri Mar 29 19:37:00 CST 2019 0 899
分布式事务最终一致性的原理

最终一致性,从其名字看,已经放弃了强一致性,如果出现异常情况,很有可能会产生主业务已提交,边缘业务最终也没能一致的情况。如网络持续不通,一段时间重试后,任务不得不放弃 因此最终一致性还有一层隐含信息->做好最终一致的备案,否则可能造成不可预期的问题。 目前做法 和事务型数据库一同提交 ...

Fri Dec 07 00:33:00 CST 2018 0 704
分布式事务方案 - 最终一致性

,一个系统中增加钱。 下面我们分析最终一致性实现方案,最终一致性通常都是使用消息中间件来实现的,系统 ...

Fri May 17 19:47:00 CST 2019 5 1055
曹工杂谈:分布式事务解决方案之基于本地消息实现最终一致性

曹工杂谈:分布式事务解决方案之基于本地消息实现最终一致性 前言 为什么写这个?其实我这边的业务场景,严格来说,不算是典型的分布式事务,需求是这样说的:因为我这边负责的一个服务消费者consumer,是用户登录的入口;正常情况,登录时候要走用户中心,这是个单独的服务;如果用户中心挂了 ...

Tue Jul 28 22:08:00 CST 2020 2 1637
分布式事务(六)之可靠消息最终一致性

消息发送一致性:是指产生消息的业务动作与消息发送的一致。也就是说,如果业务操作成功,那么由这个业务操作所产生的消息一定要成功投递出去(一般是发送到kafka、rocketmq、rabbitmq等消息中间件中),否则就丢消息。 可靠消息最终一致性 发送消息不可靠 既然提到了可靠消息最终 ...

Tue Nov 23 00:17:00 CST 2021 0 1003
分布式事务(5)---最终一致性方案之可靠消息

分布式事务(1)-理论基础 分布式事务(2)---强一致性分布式事务解决方案 分布式事务(3)---强一致性分布式事务Atomikos实战 分布式事务(4)---最终一致性方案之TCC 可靠消息最终一致性是解决分布式事务中一种典型的柔性方案。通常有两种实现方式,一种是基于本地 ...

Wed Dec 15 06:23:00 CST 2021 0 1027
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM