事务架构指南

     

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

1244 5K

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

使用Go的Defer和Rust的Drop实现数据库事务机制的比较 - DEV

1858 1 8K

我学习 Rust 的极其缓慢的旅程仍在继续,被其他项目拖延了。我在 2021 年的注意力主要集中在 Go 和 PostgreSQL 上。让我对 Rust 非常感兴趣的一件事是它为我提供的工具可以让我编.

如何克服 Apache Kafka中的数据顺序问题 - DATAVERSITY

2040 2 4K
通过了解 Apache Kafka 如何对数据进行排序,您可以确保您的数据或应用程序保持良好的工作状态。尽管Apache Kafka已经赢得了作为功能强大的分布式流媒体平台的声誉,但在确保按您希望的顺.

使用Spring TransactionSynchronization执行事务后提交的调度方法 - Singh

3757 3 6K

这篇博客试图解释我们如何利用Spring的TransactionSynchronization来实现在事务提交后执行业务代码,以及如何使用 Spring AOP巧妙优雅实现的。在spring中使用事务.

每个Java程序员都犯过的Spring事务@Transactional错误 - Kozhenkov

1728 1 6K

可能最常用的 Spring 注释之一是@Transactional。尽管它很受欢迎,但它有时会被误用,从而导致一些不是软件工程师想要的东西。在这篇文章中,我收集了我个人在项目中遇到的问题。我希望这份清.

Gitlab为什么花了一个月的时间来消除 PostgreSQL 子事务 ?

1600 3K

自去年 6 月以来,我们注意到 GitLab.com 上的数据库会神秘地停止几分钟,这将导致用户在此期间看到 500 个错误。经过数周的艰苦调查,我们终于发现了造成这种情况的原因:在长事务正在进行时通.

微服务的分布式事务模式比较 | RedHat

1662 1 2K
作为 Red Hat 的一名咨询架构师,我有幸参与了大量客户项目。每个客户都会带来自己的挑战,但我发现了一些共同点。大多数客户想知道的一件事是如何协调对多个记录系统的写入。回答这个问题通常涉及对双重写.

微服务中的Saga模式 - baeldung

3890 2 4K
基于微服务的应用程序是一个分布式系统。整个系统由多个较小的服务组成,并且这些服务一起提供了整体应用程序功能。尽管这种体系结构样式提供了许多好处,但是它也有一些局限性。微服务体系结构中的主要问题之一是如.

什么是数据库事务的写偏斜write-skew?- justinjaffray

5743 2K

这篇文章是关于写歪斜write-skew的知识以及扩展快照隔离的知识。快照隔离被称为事务隔离级别,它在性能和正确性之间提供了很好的组合,但是此处“正确性”的确切含义通常含糊不清。在这篇文章中,我想分解.

使用Spring Boot实现Redis事务 | Vinsguru

2448 1 4K
大多数redis命令可以归类到get/set下。默认情况下,所有这些命令都是原子的。但是,当我们需要顺序执行一组命令时,则不能保证它是原子的。Redis通过multi,exec和discard命令提供.

如何检测Spring中事务当前是否活着? - Baeldung

5518 1 3K

检测交易对于审计目的或在未实施良好交易惯例的复杂代码库中可能有用。在这个简短的教程中,我们将介绍几种方法来检测代码中的Spring事务。为了使事务在Spring中工作,必须启用事务管理。如果我们使用具.

Go语言中用于错误处理的Defer、Panic和Recover - Sachin Karve

1195

许多开发人员在开始开发企业级应用程序之前,往往会忽略编程语言的错误处理机制。最好以一种可以从异常中恢复(万一发生)的方式开发代码。不同的编程语言以不同的方式处理错误,异常和恢复。Go采用了Defer、.

Java和Spring中的事务简介 - Baeldung

3895 1 17K
在本教程中,我们将了解Java中事务的含义。因此,我们将了解如何执行资源本地事务和全局事务。这也将使我们能够探索在Java和Spring中管理事务的不同方法。 什么是事务?通常,Java中的事务是指一.

如何创建自定义Apache Kafka连接器(Kafka Connectors) - Prashanna

3222 2K

Kafka Connect是一个框架,可帮助Kafka连接外部系统,例如数据库,文件系统等,反之亦然。我们处理两种类型的连接器:源连接器:这种类型的连接器有助于将数据从外部系统简化为Kafka Top.

美女程序员分享数据库常见17个使用误区 - Jaana

1673 1 13K
绝大多数计算机系统都具有某种状态,并且可能依赖于存储系统。我对数据库的了解是随着时间的推移而积累的,但是在此过程中,我们的设计错误导致了数据丢失和中断。在数据繁重的系统中,数据库是系统设计目标和折衷方.

面向对象的哲学源头与软件工业本质与未来趋势 – BradCox

3431 2 4K

亚里斯多德以来,哲学家一直在与存在概念作斗争。为什么我们要研究观察我们在世界上看到的东西?这些事物是如何在那里的?有目的吗?它们会永远存在吗?我们是由与其他所有事物一样的东西构成的,还是我们拥有其他物.

2PL(两阶段锁定)算法如何工作 -Vlad Mihalcea

9334 1 2K
2PL(两阶段锁定)算法是关系数据库系统用来保证数据完整性的最古老的并发控制机制之一。在本文中,我将解释2PL算法如何工作以及如何以任何编程语言实现它。锁类型在我们开始讨论2PL算法实现之前,解释读和.

使用DDD聚合发现隐藏的业务规则的案例分析:数据库事务的业务实现 - Nick Tune

4635 3 4K

在现实世界中,我们可能会对我们的业务规则和流程含糊不清。我们可以设置例外,也可以绕过一些步骤以适应我们从未想到的特殊情况。想象一下一个业务规则,即所有客户都必须具有名字,中间名和姓氏。如果某人访问实体.

2PC时代即将结束,2PC只是提供原子性提交而不是事务本身 · Exactly Once

3319 1 2K
如果有分布式事务协议,那么每个软件工程师都知道它:“两阶段提交”,也称为2PC。尽管使用了几十年,但是由于缺乏云环境的支持,它却一直在稳步下降。过去在相当长的一段时间里,它是构建企业分布式系统的实际标.

Spring事务管理:非常规指南 - marcobehler

3106 15K
您可以使用本指南对Spring的事务管理(包括@Transactional批注)的工作方式进行深入的实际了解。唯一的前提条件?您需要对ACID有一个大概的了解,即什么是数据库事务以及为什么要使用它们。.

Spring Boot事务传播机制 - DZone Java

3619

任何应用程序都涉及许多服务或组件调用其他服务或组件。事务传播指示任何组件或服务是否将参与事务,以及如果调用组件/服务已经或者没有已创建事务,它将如何表现。有六种类型的事务传播: REQUIRED默认 .

经验分享:Plaid如何通过机器学习实现商家和银行之间的交易对账结算? - Kevin Hu

1863 1 4K
Plaid的API可帮助开发人员为北美数以千万计的消费者提供金融服务。这些服务帮助消费者管理他们的个人财务,让他们转移资金和付款,并允许他们获得贷款和抵押贷款。我们的使命是通过提供对金融系统的访问来改.

Spring的反应式/命令式关系数据库的事务

2120 1 3K

Spring Framework最近公布了对反应性事务管理的支持。让我们深入了解一下这对于R2DBC(SQL数据库访问的反应规范)是如何工作的。事务管理是一种模式,而不是特定于技术。从这个角度来看,它.

GitHub - fencyio:为RabbitMQ消费者提供幂等性保证的库包

2031 1

fency是一个使用SpringBoot和Redis消除RabbitMQ中重复消息的开源项目。即使发送方应用程序仅发送一次消息,接收方应用程序也可能不止一次地接收消息。幂等元一词在数学中用于描述一个函.

使用Spring实现反应式事务(Reactive Transactions)

8710 1 6K

本文探讨如何使用RDBC2或MongoDB来使用Spring Reactive的事务支持。在还没有加入响应式/反应式事务集成之间,Spring认为没有必须进行Reactive事务管理,因此,Sprin.

数据库事务隔离级别的深坑:默认值应修改为SERIALIZABLE

2705 4 8K

本文提出将数据库的默认级别修改为可串行化SERIALIZABLE,不用担心性能降低,他们发现在一个设计良好的系统中,SERIALIZABLE和READ COMMITTED之间的性能差异可以忽略不计!几.

MySQL死锁案例 – Learn. Write. Repeat.

1759 17K

无论你是DBA还是开发人员,你都会对死锁感到不耐烦,一些死锁需要几天的时间来修复,它们很难重现,其中一些只能在生产prod机器上重现。在不知道发生了什么情况下盲目修复并不罕见,你只能假设问题出在哪里,.

使用CRDT实现分布式事务的资料推荐

1189

分布式事务的关键是实现强一致性,但是CAP定理认为获得强一致性必然放弃可用性,这是传统关系数据库和2PC的问题所在,最终一致性可以兼顾一致性和可用性,强最终一致性则更好,因此分布式事务的发展方向走向强.

如何避免死锁和活锁? - simar

4583 5K

死锁只能在并发(多线程)程序中发生,其中同步(使用锁)线程访问一个或多个共享资源(变量和对象)或指令集(临界区)。活锁时当我们试图避免死锁时会使用异步锁定时发生的,其中多个线程对同一组锁的竞争写操作,.

MongoDB是不是正确的选择? - simplethread

1 1462 1

MongoDB和一般的文档数据库解决了传统关系数据库的一些问题:严格的模式 - 使用关系数据库,如果你有动态形态的数据,你不得不创建一堆随机的“杂项”数据列,将数据作为一个数据块推送,或使用EAV设置.