分布式事务教程

     

使用Spring Boot + Kafka实现分布式事务 - Piotr

2097 1 21K
在本文中,您将学习如何在 Spring Boot 应用程序中将 Kafka 事务与 Spring Kafka 项目一起使用。为了运行 Kafka 集群,我们将使用Upstash。如果您想自己尝试一下,.

使用Redis实现微服务分布式锁

1746 1 6K
Redis 以其高性能和支持高读/写 QPS 的能力而闻名,这是作为分布式锁服务的后备存储非常理想的属性。此外,Redis 本身也支持 Lua 脚本。开源社区中有很多基于 Redis 的分布式锁的实现.

基于Postgres逻辑复制的推送式发件箱模式

1800 1 11K

只有几个模式让我觉得很舒服:“如果你想构建成熟的系统,你应该一直使用它”。其中之一是发件箱模式。为什么?因为它保证了你的业务流程和沟通不会卡在中间。正如我在发件箱中解释的,收件箱模式和交付保证解释了:.

使用microsaga库在Java中实现微服务Saga事务管理

1870 2 9K

Saga 模式将微服务之间的本地事务组合成所谓的“Saga”。这种模式的主要思想是,如果本地事务成功完成,下一个事务将按顺序运行。如果本地事务失败,必须启动一系列补偿动作,以取消所有先前事务的结果。s.

微服务架构分布式事务管理问题

1235 4K
分布式事务管理问题:如何处理跨多个服务的事务?微服务是一个分布式系统。一个事务被分发给多个服务,这些服务被顺序或并行调用以完成整个事务。对于微服务架构,最常见的模式是每个微服务的数据库,因此事务也需要.

在 Kubernetes 上使用Spring Boot+ActiveMQ

1329 1 10K

本文将教您如何在 Kubernetes 上运行 ActiveMQ,并通过 Spring Boot 将其与您的应用程序集成。我们将使用专门的操作员部署一个集群的 ActiveMQ 代理。然后我们将构建并.

以事务方式发送 Kafka 消息

2195 1 5K
在自 2016 年以来,我们在 Mirakl 开始使用 Kafka 作为消息服务,以支持我们在微服务环境中的异步驱动架构。起初,Kafka 仅用于非关键服务,如电子邮件、审计或日志记录。这是一种安全的.

分布式系统的仲裁模式

1559
任何分布式系统的常量之一是失败。我们构建的系统能够抵御故障。假设我们想要复制到集群中的不同节点以实现高可用性和容错。我们需要问的下一个问题是——我们集群中有多少节点需要确认他们从原始服务器获得了复制副.

​​​​​​​VISA等信用卡背后的分布式交易事务机制 - AlexXu

1674 1
VISA、万事达卡和美国运通卡充当清算和结算资金的卡网络。收单银行和发卡银行可以——而且通常——不同。如果银行要在没有中介的情况下逐一结算交易,则每家银行都必须与所有其他银行结算交易。这是相当低效的。.

CECTC/dbpack: 用Golang编写的分布式事务中间件

1618 1

DBPack是一种以AT事务模式实现的DB网格解析,是一种分布式事务模型,不侵入业务逻辑,具有高性能。分布式事务、读写拆分和分片的数据库代理!支持任何语言!它可以部署为 pod 中的 sidecar。.

通过改变业务模型的预留模式避免分布式事务 - CodeOpinion

1690 1 3K

长时间运行的业务流程可能会持续几秒钟到几天,您无法使用分布式事务锁定服务中的资源。那么有什么选择呢?现实世界有一个解决方案,它是一种预订保留。预订模式允许您获得有时限的有限保证,允许您与其他服务进行协.

Mata解决了缓存何时失效的世纪难题? - Lu

1199 1 2K

我们在 Meta/FB 的工程博客上写了一篇文章,介绍了我们如何管理缓存失效的复杂性,并使缓存在此过程中更加一致。我相信所描述的方法应该适用于大多数基于失效的缓存。缓存失效在计算机科学中可能不再是一件.

Redpanda:用C++重写的Kafka

3793 4K

Redpanda 是对 Kafka 的 C++ 重写,提供与 Kafka API 的 100% 兼容性。Redpanda 不需要 Zookeeper 或 JVM,因此在生产中操作起来不太复杂。因此,更.

两个将军问题与分布式Saga

1091 1 7K

想象一下,在一个山谷里有一座城市。在山谷的两边,有一支由将军指挥的军队。左边的山上站着爱丽丝将军和她的军队。右边的山头上,站着鲍勃将军和他的军队。爱丽丝和鲍勃想占领这座城市,但双方都没有足够大的军队来.

从架构师思维看分布式事务两种技术方案 - banq

1830 1
程序员从无到有构建代码,应该注重组合思维,做出来的东西需要能够相互组合在一起;而架构师是从上而下的视角,因为不参与具体细节构建,但为了落地,应该具有多维度多维度视角,从程序员到架构师思维转变很重要。下.

如何设计基于事件驱动架构的销售库存微服务?- Jasbir

1747 2 2K

在这篇文章中,我将带领大家了解OneShop(我们的电子商务产品)的销售库存解决方案。销售库存解决方案也是一个为所有渠道(OneShop、OneApp等)和Natcos统一的多租户解决方案。它确保了销.

如何实现跨Mysql、Redis和Mongo分布式事务? - dongfu

1996 1 7K

如何组合多个存储引擎合并组成分布式事务?Mysql、Redis、Mongo都是非常火爆的存储,各有各的优势。在实际应用中,同时使用多个存储是很常见的,保证跨多个存储的数据一致性成为一种需求。本文给出了.

DTM:Golang中微服务架构的分布式事务框架

3900 1

一个支持多种语言的分布式事务框架,支持saga、tcc、xa、2-phase message、outbox patterns发件箱 第一个致力于微服务分布式事务解决方案的开源 Golang 项目。 支.

分布式系统唯一主键标识符ID生成机制比较 - Encore

983 4K

在构建任何分布式或非分布式系统时,您最终会处理许多数据ID标识符,从数据库行一直到生产系统版本的ID标识符。决定如何生成标识符有时非常简单;例如,您可能只是将一个自动递增ID的数字作为您的数据库中的主.

为什么我们放弃使用Kafka Streams实现全部的事件溯源?-Mateusz

680 2K

我们并不是说事件溯源总是一个糟糕的选择。这是一个真正强大的概念。但是,您应该警惕它可能给您的项目增加的复杂性。我们的看法是你不应该用它来解决所有类型的问题,而应该将它应用到选定的业务领域(它可能对所有.

Apache Pulsar分布式事务机制

1364

Pulsar 事务 (txn) 使事件流应用程序能够在一个原子操作中消费、处理和生成消息。开发此功能的原因可以总结如下。随着流处理的兴起,对具有更强处理保障的流处理应用的需求也随之增长。例如,在金融行.

分布式数据库架构原理 - Alex Petrov

1227 2K
Alex Petrov 是 Apple 的一名软件工程师。他写了一本关于 Database Internals 的精彩书籍,深入探讨了分布式数据系统的工作原理。我们将总结他关于数据库管理系统 (DBM.

使用Spring Boot和Kafka Streams实现基于SAGA模式的分布式事务源码教程 - Piotr

1862 1 11K
本案例源码是如何使用Spring Boot 和Kafka Streams实现基于SAGA 模式的分布式事务。有三个微服务: 订单服务--它向Kafka主题发送订单事件,并协调分布式事务的过程 支付服务.

业务系统中资源争夺情况是不存在的 - udidahan

1232 1

一旦你学会用业务眼光去看,就不会有任何需要用多线程同步锁实现的竞赛条件了。比方说,以下是需求。 1. 如果订单已经发货了,不要让用户取消订单。 2. 如果订单已经被取消,不要让用户运送订单。 这里的竞.

解耦事务:在抖动的SQL服务器上实现低尾延迟在线事务 (CIDR 2022)

1243 1 2K
这是Pat Helland 的论文:Pat Helland 的 CIDR22 论文,Pat的论文总是非凡的、与众不同的。他们有很多智慧。 问题和范围抖动是指最大延迟与最小延迟的时间差,如最大延迟是20.

使用 Spring Transactional 注释的最佳方式 - Vlad Mihalcea

1253 5K

在本文中,我将向您展示使用 Spring Transactional 注释的最佳方式。 Spring事务注解从 1.0 版本开始,Spring 就提供了对基于 AOP 的事务管理的支持,允许开发人员以.

使用Kafka Streams和Spring Boot实现微服务Saga分布式事务 - Piotr

2356 1 16K
在本文中,您将学习如何在 Spring Boot 中使用 Kafka Streams。我们将依赖 Spring Kafka 项目。为了很好地解释它是如何工作的,我们将实现一个 saga 模式。saga.

Java反应式事件溯源之第5部分:事件存储

1648 6K

选择事件存储数据库需要大量研究。这可能是一个单独的博客系列的主题(可能在将来),所以我的计划是从不同的角度来解决它。不要试图找到最佳解决方案(因为恕我直言不存在)。相反,尝试找到一个最佳的折衷方案并为.

比UUID更快:如何生成分布式唯一时间戳标识符 - vanillajava

1809 1 3K

本文介绍了一个直接支持分布式标识符生成的实现。1. 分布式系统中的并发标识符生成每个主机都有一个预定义的唯一主机标识符或hostId 。TimeProvider[url=https://github..

简单比较 Apache Kafka 和 Apache Pulsar要点 - Jaroslaw

915

Apache Pulsar 是一个开源的分布式发布-订阅消息系统,与kaffka根本不同的是持久性存储。在 Kafka 中,日志保存在代理上,而 Pulsar 使用Apache BookKeeper,.