分布式事务教程

     
  • RabbitMQ中发布者通过确认机制确保消息发布

    8 14K

    在本教程中,我们将学习如何使用发布者确认来确保将消息发布到RabbitMQ代理。然后,我们将了解如何使用消费者确认来告知代理我们已成功使用消息。场景在简单的应用程序中,我们在使用 RabbitMQ 时.

  • Spring Boot事务发件箱模式

    33 23K

    如果您正在构建微服务架构,或者您只需要从整体式(单体)架构发送电子邮件,则应该研究事务发件箱模式以确保服务之间的可靠通信。这篇博文介绍了几种使用 Spring Boot 实现此目的的方法。什么是事务发.

  • PostgreSQL双向复制教程

    13 9K

    在本篇博文中,我们将重点介绍复制和更具体的双向复制。要在 PostgreSQL 中实现双向复制,我们需要模块 pglogical。您可能想知道逻辑解码和 pglogical 之间的区别。本质上,逻辑解.

  • 8个UUID版本以及何时使用它们

    68 2 2K

    通常,当我们有多个编号版本时,数字越大的版本越新,并且被认为更好。相比之下,UUID 有 8 个版本(v1 到 v8),它们各不相同,并且都在标准中定义。在这里,我将从高层次解释它们是什么,并链接到 .

  • 分布式快照:Monkey-Lamport协议

    15 4K

    这篇文章讨论了Chandy-Lamport协议。这篇文章由Federico Ponzi于2024年5月30日发布,并在2024年6月3日进行了最后更新。文章内容涵盖了分布式快照试图解决的问题、它的应用.

  • 不要使用业务键作为数据库主键

    113 1 3K

    Mark Seemann这篇博客文章反对使用自然键作为数据库表中的主键,而是建议始终使用合成(人工)键。什么是自然键自然键(也称为业务键或领域键 )是数据库中一种唯一键,由存在并在数据库外部世界(即业.

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

    63 6K

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

  • 分布式系统CAP定理教程

    53 4K

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

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

    49 3K

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

  • CAP定理的缺点

    73 2K

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

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

    218 5K

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

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

    107 1 8K

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

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

    70 3K

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

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

    97 5K

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

  • RedPulsar:基于Redis的分布式锁

    88 2K

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

  • PACELC定理与CAP定理比较

    224

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

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

    125 16K

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

  • 数据库全面知识详细讲解

    404 2 24K

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

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

    141 4K

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

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

    125 4K

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

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

    164 4K
    DynamoDB 的一个杀手级功能是任何规模的可预测性。请阅读Marc Brooker 的文章以充分理解此功能。这篇论文出现在 7 月的 USENIX ATC 2023 上。与这种可预测性原则相一致,.
  • Metadata:分布式系统设计要点和建议

    143 6K

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

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

    296 1 2K

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

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

    145 4K

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

  • Debezium会丢失事件吗?

    269

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

  • Spring Cloud Stream Kafka事务介绍

    367 23K
    Apache Kafka 提供了基础事务支持,而 Spring for Apache Kafka(又名 Spring Kafka)库则在 Spring 侧扩展了这种支持,使 Spring 开发人员能够.
  • Dapr统一了微服务之间同步或异步的API

    171 2K

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

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

    293 1 7K

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

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

    400 2K

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

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

    1204 1

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