事务架构指南

     

Spring Boot注解@Transactional结合实际例子讲解

24 3K

在今天的文章中,我们将学习 Spring Boot @Transactional 中使用的最重要注释之一的基础知识。理解springboot中使用@Transactional进行事务管理: 事务注释用.

Spring中使用@Async与@Transactional协调异步与事务处理

76 1 8K

本文旨在阐明 Spring@Transactional和@Async注释的协同使用,提供对它们的集体应用程序的见解,以优化 Java 应用程序的性能。 什么是 Spring 中的事务管理事务管理在任何.

深入探讨 Java Spring 框架事务注释

40 4K
最近,我必须使用六边形架构模式 在 Java 中实现一个新的 CRUD 服务。六边形架构模式是一种强调系统中关注点分离和组件独立性的软件模式。遵循此模式的服务由以下部分组成: 核心模块:这是应用程序的.

Spring中的TransactionSynchronizationManager

55

在企业应用程序开发领域,管理事务对于确保数据完整性和一致性至关重要。然而,协调事务上下文中的多个资源可能很复杂。这就是 TransactionSynchronizationManager 发挥作用的地.

SpringBoot中DataSourceTransactionManager

55 2K

在基于 Spring 的应用程序中,"DataSourceTransactionManager "通常用于在使用关系数据库时管理事务。它负责在一个或多个数据库之间协调事务。以下示例演示了如何在 Spr.

Spring Boot中操作数据库的几种并发事务方式

233 1 6K

当有多个并发事务时,会发生丢失更新异常。来自一个或多个事务的更新可能会丢失,因为其他事务会用其结果覆盖它。让我们通过一个例子来检验一下。考虑以下执行事务的方法。public void withdraw.

rockscache:保证与DB最终或强一致性的Redis缓存库

205 11K
随着缓存的引入,分布式系统中的一致性问题出现了,因为数据同时存储在两个地方:数据库和Redis。到目前为止,我们看到的所有缓存解决方案,如果没有在应用程序级别引入版本控制,都无法解决数据不一致场景。目.

Spring Data JPA中的getReferenceById()和findById()方法

189 5K

JpaRepository为我们提供了CRUD操作的基本方法。然而,其中一些方法并不那么简单,有时很难确定哪种方法最适合特定情况。getReferenceById(ID)和findById(ID)是经.

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

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

Spring Boot中悲观锁

121 6K

悲观锁是数据库系统中使用的一种并发控制机制。它可以防止多个事务同时更新相同的数据。Spring悲观锁应用:@SpringBootApplicationpublic class SpringPessim.

事件溯源中的乐观锁

384 2K

并发控制是在多用户环境中管理和协调对共享资源的并发访问的过程。在数据库和分布式系统的上下文中,并发控制旨在确保数据的一致性,同时允许多个事务并发执行。当不同的事务同时访问和修改相同的数据时,这尤其具有.

现代分布式事务的两种形式 - a16z

692 1 5K

长期以来,事务数据库一直是应用程序设计中最关键的组成部分。为什么?因为稳定的数据库通常是混乱的分布式世界中正确性的最终实施点。没有他们,我们就会多付钱和少收钱。我们会失去试图从机场回家的乘客,我们会丢.

Spring事务最佳实践 - Vlad

1151 12K
在本文中,我将向您展示各种 Spring Transaction事务最佳实践,它们可以帮助您实现底层业务需求所需的数据完整性保证。数据完整性至关重要,因为如果没有适当的事务处理,您的应用程序可能容易受.

多线程与Spring容器事务机制 - DZone

759 6K

Spring 负责所有底层事务管理细节,并为不同的事务 API 提供一致的编程模型,但有多少人真正了解它在多线程环境中的行为方式?是否可以在多个线程中打开事务并写入数据?让我们退一步思考一下Entit.

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

1206 5K

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

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

1810 1 8K

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

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

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

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

3673 3 6K

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

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

1692 1 6K

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

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

1555 3K

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

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

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

微服务中的Saga模式 - baeldung

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

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

5682 2K

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

使用Spring Boot实现Redis事务 | Vinsguru

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

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

5470 1 3K

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

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

1162

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

Java和Spring中的事务简介 - Baeldung

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

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

3183 2K

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

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

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