分布式事务教程

     

分布式系统:常见陷阱和复杂性

33 6K

分布式系统的复杂性对于工程师和开发人员来说是一个重要的挑战。随着系统的发展,复杂性往往会增加,因此积极主动很重要。让我们谈谈您在工作中可能会遇到哪些类型的复杂性以及处理这些复杂性的有效策略。分布式系统.

分布式系统CAP定理教程

41 4K

本文探讨了 CAP 定理。理解 CAP 对于设计分布式系统至关重要,我们将深入研究每个属性的含义。什么是分布式系统?分布式系统将计算和数据分布在网络内的多个互连节点上。这可能涉及卸载处理能力或在地理上.

Rama通过拓扑通用语言实现ACID事务

36 3K

Rama是一个新的编程平台, Rama 的突破最重要的是,它首次出现了用于构建软件应用程序的内聚模型,无论规模如何。ACID事务ACID原子性、一致性、隔离性和持久性是数据库系统的关键特征。Rama .

CAP定理的缺点

59 2K

2000 年,埃里克-布鲁尔(Eric Brewer)在 "分布式计算原理会议"(Principles of Distributed Computing conference)上发表题为 "迈向稳健的.

Kafka中避免重复消息的5种有效方法

183 5K

Apache Kafka 因其强大的特性而成为分布式消息系统的不错选择。在本文中,我们将探讨避免Apache Kafka消费者中出现重复消息的高级策略。重复消息消费的挑战Apache Kafka 的至.

TigerBeetle:世界上最快的会计数据库

81 1 8K

TigerBeetle 是一个财务会计数据库,专为关键任务安全性和性能而设计,为金融服务的未来提供动力。希望让其他人能够轻松构建下一代金融服务和应用程序,而无需从头开始拼凑会计或分类帐记录系统。Tig.

MySQL中分布式事务2PC的异常恢复

46 3K

分布式事务(也称为 XA 事务)的出现是为了解决分布式环境中跨多个数据库或系统协调事务的复杂性。想象一下,您正在指挥一个管弦乐队,其中每个音乐家代表不同的数据库或服务。就像确保音乐的和谐需要精确的协调.

Spring中使用分布式任务同步ShedLock

73 5K

在本文中,了解如何使用 ShedLock 在分布式系统中执行任务,ShedLock 是一个在复杂 Spring 应用程序中协调任务的有用工具。在当今的分布式计算环境中,协调多个节点之间的任务同时确保它.

RedPulsar:基于Redis的分布式锁

70 2K

为 Jedis 和 Lettuce Redis 客户端提供解决方案。支持Java11+RedPulsar 为云计算或不同类型的分布式系统提供带有 Redis 和其他实用程序的分布式锁。它是用 Kotl.

PACELC定理与CAP定理比较

207

根据CAP定理,数据库即使在15天后才返回查询响应,也是可用的,但对于任何真实世界的应用程序来说,这种延迟是不可接受的。什么是CAP定理CAP定理是分布式计算领域的一个基本理论,它由计算机科学家Eri.

使用Postgres 16 备用服务器实现CDC逻辑复制

106 16K

对于变更数据捕获 (CDC) 的用户来说,Postgres 版本 16(今年 9 月发布)中最令人兴奋的功能之一是支持从备用服务器进行逻辑复制。您现在可以将 Debezium 等 CDC 工具指向副本.

数据库全面知识详细讲解

378 1 25K

大约一年前,我在考虑下一个项目应该选择哪个数据库时,发现自己对数据库的区别了解得还不够。我浏览了不同的数据库网站,看到的大多是市场营销和我不理解的词汇。这时,我决定阅读 Alex Petrov 所著的.

TiDB:基于Raf的类似CRDB分布式数据库

125 4K

TiDB是一个开源混合事务和分析处理(HTAP)数据库,由 PingCap 开发。 TiDB 服务器是用 Go 编写的,是查询/事务处理组件;它是无状态的,因为它不存储数据并且仅用于计算。 底层键值存.

Polyjuice:通过并发控制动态学习实现高性能事务

104 4K

Polyjuice 专为单节点多核设置而设计。它假设所有事务类型都是事先已知的,并且可以作为存储过程运行(请参阅下面的策略表部分)。它不支持 MVCC,因为它是在Silo 框架之上实现的。Polyju.

亚马逊DynamoDB大规模分布式事务原理

144 4K
DynamoDB 的一个杀手级功能是任何规模的可预测性。请阅读Marc Brooker 的文章以充分理解此功能。这篇论文出现在 7 月的 USENIX ATC 2023 上。与这种可预测性原则相一致,.

Metadata:分布式系统设计要点和建议

130 6K

这些建议提示都是分布式系统研究人员和从业人员几十年来的集体成果。提示分为三类:功能、性能和容错:功能: 应用抽象 减少协调 拥抱单调性 表现: 偏爱偏序而不是全序 杠杆时间 使用间接和代理 模拟估算 .

分布式系统中的乐观和错误假设

278 1 2K

避免协调是让我们构建的分布式系统超越单机性能的一个基本要素。当我们构建避免协调的系统时,我们最终构建的组件会假设其他组件在做什么。这一点也很重要。如果两个组件不能在每一步操作后都互相检查,那么它们就需.

Epoxy:跨不同数据存储的 ACID 事务

125 4K

Epoxy 利用 Postgres 事务数据库作为主数据库/协调数据库,并扩展多版本并发控制 (MVCC) 以实现跨数据存储隔离。它通过乐观并发控制 (OCC) 和两阶段提交 (2PC) 协议提供隔离.

Debezium会丢失事件吗?

240 2K

是否存在这样的情况:数据库中的记录被插入、更新或删除,但 Debezium 无法从事务日志中捕获该事件并将其传播到下游消费者?一般来说,Debezium 本身绝不会错过任何事件。如果确实如此,则被认为.

Spring Cloud Stream Kafka事务介绍

336 23K
Apache Kafka 提供了基础事务支持,而 Spring for Apache Kafka(又名 Spring Kafka)库则在 Spring 侧扩展了这种支持,使 Spring 开发人员能够.

Dapr统一了微服务之间同步或异步的API

155 2K

在微服务通信领域,同步和异步交互是作为微服务之间调用架构的关键要素。Dapr不仅简化了应用程序交互,满足同步和异步模式,而且还支持高级编排(Choreograph)和排舞(Orchestration).

Go中悲观锁、乐观锁+2PC实现分布式事务

269 1 7K

在本文中,我将在基本的酒店预订系统中使用 Go 实现2PC(两阶段提交),并使用悲观锁定和乐观锁定。在此系统中,我们将重点创建预订流程并将使用 PostgreSQL 数据库。您可以在这里找到源代码!为.

Dapr v1.12 正式发布:发件箱模式是亮点

379 3K

Dapr 是一种可移植、事件驱动的运行时,使任何开发人员都可以轻松构建在云和边缘运行的弹性、无状态和有状态应用程序,并支持多种语言和开发框架。Dapr 1.12.0 发布!以下是 v1.12 版本的亮.

简要说明三种新的唯一标识符格式(UUIDv6、UUIDv7 和 UUIDv8)

835

UUID 是 128 位标识符,旨在生成唯一标识符,而不要求在集中位置生成。UUID 规范于 2005 年编写,并在RFC 4122中定义。该规范对行业来说相当有效。下面是三种个新的 UUID 规范:.

Epoxy分布式事务简介

371 3K
传统的解决方案是通过像X/Open XA这样的协议使用两阶段提交。 然而,虽然XA被大多数大型关系数据库(如Postgres和MySQL)支持,但它不受流行的更新数据存储(如MongoDB,Cassa.

微服务Saga分布式事务是一种反模式

346 2K

Saga通常被定位为处理分布式事务的更好方法。我认为讨论佐贺的优点和缺点没有意义,因为Saga根本不应该在基于微服务的系统中使用:如果你需要跨几个微服务的分布式事务,很可能你错误地定义和分离了领域。作.

Kafka 事务的一次性语义

337 4K

事务为发布到 Kafka 的一组消息提供原子性、一致性、隔离性和持久性 (ACID) 的保证。这意味着要么事务中的所有消息都将成功写入 Kafka,要么不会写入任何消息。在确保数据一致性和避免任何数据.

Spring Kafka教程指南大全

455 17K

我们将指导您完成将 Spring Kafka 集成到微服务架构中的过程。Spring Kafka 是将 Apache Kafka 的强大功能与 Spring 生态系统的优雅和便利连接起来的桥梁。在您的.

从数据库导出数据CDC的几种方式

388
变更数据捕获是一个从数据库获取数据的过程,用于复制针对操作数据库执行的操作,以供下游应用程序使用。CDC可用于将针对源数据库执行的事务移动到目标数据库。实时CDC在此非常有价值,因为它可以实现零停机源.

纳秒时间戳不适合做唯一标识符

368

在现代系统中,纳秒时间戳碰撞的频率有多高?答案是:非常频繁,比如在同时读取所有 4 个物理内核的时钟时,有 5%的样本会发生碰撞。因此,采用原始纳秒时间戳作为唯一标识符是不安全的。 test prog.