深圳幻海软件技术有限公司 欢迎您!

  • 怎么用消息队列实现分布式事务?

    当消息队列和事务联系在一起时,它指的是消息生产者和消息消费者之间如何保持数据一致性。什么是分布式事务?事务是指当我们进行若干项数据更新操作时,为了保证数据的完整性和一致性,我们希望这些更新操作要么都成功,要么都失败。而更新的数据,并不局限于数据库中的数据,它可以是磁盘上的文件,也可以是一个远程服务,

  • 分布式事务问题

    ​问题描述:最近在做项目过程中遇到这样一种场景:方法A依次调用方法B、C、D,其中方法B和D都是本地方法,方法C是远程方法(更具体的讲,方法C的功能是发送MQ消息),该场景要求方法A是满足事务的,即A调用B、C、D要么同时成功,要么同时失败。 问题分析:该问题的难点在于,对于方法B和D,可

  • 一种基于柔性事务的分布式事务解决方案设计探究

    1背景市面上常见的有,2pc/3pc、tcc、saga等常见的分布式事务解决方案,但是实际实施起来框架比较重,设计开发比较繁琐,不易于快速开发上手。本文提供一种基于柔性事务设计的简单易上手的分布式事务设计方案,用于解决常见的分布式事务常见场景。2常见分布式事务场景2.1同步场景常见的场景,方法内依赖

  • 深入浅出Seata的AT模式

    一、业务背景在分布式架构中,事务管理是个无法避开的复杂问题,虽然有多种解决方案,但是需要根据业务去选择合适的;从个人最近几年的实践经验来看,Seata组件的AT模式比较常用,本文从实际的案例出发,来深入分析该模式的原理;首先创建一个全局事务管理的接口,这里是在Facade服务中开启全局事务;请求经过

  • Spring事务的这十种坑,坑坑致命!

     1.错误的访问权限复制@ServicepublicclassUserService{@AutowiredprivateUserMapperuserMapper;@Transactionalprivatevoidadd(UserModeluserModel){userMapper.inse

  • 加入事务和嵌套事务有什么区别?你明白了吗?

    加入事务和嵌套事务是指在Spring事务传播机制中的加入事务(REQUIRED)和嵌套事务(NESTED)的区别,二者看似很像,实则截然不同,那么它们有什么区别呢?接下来我们一起来看。Spring事务传播机制是指,包含多个事务的方法在相互调用时,事务是如何在这些方法间传播的,Spring事务传播机制

  • 面试突击:为什么事务@Transactional会失效?

    导致@Transactional失效的常见场景有以下5个:非public修饰的方法。timeout超时时间设置过小。代码中使用try/catch处理异常。调用类内部的@Transactional方法。数据库不支持事务。很多人只知道答案但不知道原因,这就像只谈恋爱不结婚一样,是不能让人接受的,所以本篇

  • Spring中的事务传播行为有哪些?

    今天,我给大家分享一下,我对Spring传播行为的理解。1、事务传播行为在日常开发中,我们经常会存在多个声明了事务的方法相互调用,在这种情况下,会存在嵌套两个或两个以上事务的情况,所谓事务传播行为就是指这些事务之间的传播规则。来看这样一段代码:复制@Transaction(Propagation=R

  • 聊聊Spring事务控制策略以及@Transactional失效问题避坑

    大家好,又见面了。在大部分涉及到数据库操作的项目里面,事务控制、事务处理都是一个无法回避的问题。比如,需要对SQL执行过程进行事务的控制与处理的时候,其整体的处理流程会是如下的示意:首先是要开启事务、然后执行具体SQL,如果执行异常则回滚事务,否则提交事务,最后关闭事务,完成整个处理过程。按照这个流

  • 分布式事务(Seata)原理详解篇

    今天这篇,就给大家分析一下Seata的源码是如何一步一步实现的。读源码的时候我们需要俯瞰起全貌,不要去扣一个一个的细节,这样我们学习起来会快捷而且有效率,我们学习源码需要掌握的是整体思路和核心点。首先 Seata 客户端启动一般分为以下几个流程:自动加载Bean属性和配置信息。初

  • 一个99%的人都说不清楚知识点—Spring 事务传播行为

    面试过很多人,大部分都能把事务的四个特性及隔离级别说得七七八八,但当问到Spring的传播行为时,就基本上没人能说出个一二三了。我们都知道,一个事务要么成功,要么失败。但当若干个事务配合完成一个复杂任务时,就不能简单的这样一刀切了。我们需要根据任务之间的亲疏关系来指定哪些任务需要联动回滚,哪些任务即

  • 一篇让你学会 11个Spring 失效场景

    其实关于spring事务失效的场景,网络上文章介绍的不少,参差不齐。这里只分享下自己的见解,时长大概10分钟左右,先上个图介绍下。1.访问权限问题事务方法需要定义public,非public方法事务会失效。事务拦截器TransactionalInterceptor会在执行方法前进行拦截,通过动态代理

  • 再谈分布式事务,你了解多少?

    前言三年前,我写了第一篇和分布式事务相关的文章再有人问你分布式事务,把这篇扔给他,后面陆续也写了一些和分布式事务相关的文章:如何能在实战中完成分布式事务深度剖析一站式分布式事务方案Seata-Server深度剖析一站式分布式事务方案Seata-Cient解密分布式事务框架-Fescar时隔三年,回看

  • 如何将Saga建模为状态机

    【51CTO.com快译】在微服务架构中,单个服务内的事务通常使用ACID事务来提供数据一致性。介绍本文描述了在微服务系统中管理分布式和长时间运行的事务的架构和概念框架。作者发表此文旨在与开发社区分享经验,表达对事件驱动架构的热情,并促进对复杂事件处理分布式系统的讨论兴趣。概述微服务在其真正的场景中

  • 后端程序员必备:分布式事务基础篇

    前言最近看了几篇有关于分布式事务的博文,做一下笔记。哈哈~数据库事务数据库事务(简称:事务),是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。数据库事务的几个典型特性:原子性(Atomicity)、一致性(Co

  • 一文讲透微服务下如何保证事务的一致性

     从本地事务到分布式事务的演变什么是事务?回答这个问题之前,我们先来看一个经典的场景:支付宝等交易平台的转账。假设小明需要用支付宝给小红转账100000元,此时,小明帐号会少100000元,而小红帐号会多100000元。如果在转账过程中系统崩溃了,小明帐号少100000元,而小红帐号金额不

  • 1次给女朋友的转账让我明白了“分布式事务”

    前两天发了工资,***反应是想着要给远方的女朋友一点惊喜!于是打开了平安银行的App给女朋友转点钱!填写上对方招商银行卡的卡号、开户名,一键转账!搞定!图片来自包图网在我点击的那瞬间,就收到了App的账户变动的提醒,并且出现了图一所示的提示界面:“处理中,正在等待对方银行返回结果…”。嗯!毕竟是跨行

  • 两个小工具,MySQL死锁分析,新技能又Get!

    数据库死锁,是最难调试与追踪的。场景如下:同一个表,事务内先插入一条记录,再更新这条记录,并发时会死锁。并且能够复现。可以通过什么工具模拟并发事务,查看信息,解决问题呢?这是今天要分享的内容。一、前置准备复制set session transaction isolati

  • 图文并茂的带你彻底理解悲观锁与乐观锁

     这是一篇介绍悲观锁和乐观锁的入门文章。旨在让那些不了解悲观锁和乐观锁的小白们弄清楚什么是悲观锁,什么是乐观锁。不同于其他文章,本文会配上相应的图解让大家更容易理解。通过该文,你会学习到如下的知识。1.锁(Lock)在介绍悲观锁和乐观锁之前,让我们看一下什么是锁。锁,在我们生活中随处可见,

  • 想染指系统架构?你绝对不可错过的一篇

     前言不知道你是否遇到过这样的情况,去小卖铺买东西,付了钱,但是店主因为处理了一些其他事,居然忘记你付了钱,又叫你重新付。又或者在网上购物明明已经扣款,但是却告诉我没有发生交易。这一系列情况都是因为没有事务导致的。这说明了事务在生活中的一些重要性。有了事务,你去小卖铺买东西,那就是一手交钱

推荐阅读