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

  • 如何在微服务下保证事务的一致性

    作者:京东科技苗元背景随着业务的快速发展、业务复杂度越来越高,传统单体应用逐渐暴露出了一些问题,例如开发效率低、可维护性差、架构扩展性差、部署不灵活、健壮性差等等。而微服务架构是将单个服务拆分成一系列小服务,且这些小服务都拥有独立的进程,彼此独立,很好地解决了传统单体应用的上述问题,但是在微服务架构

  • 这是一道关于Seata的Java面试题

    Seata在大厂也是属于高频的面试题,有一位3年工作经验的小伙伴被问到一道这样的面试题,说“谈谈你对Seata的理解”。那么,今天我给大家来聊一聊。另外,我花了很长时间,准备了一份500页的PDF面试资料文档和一份10W字的Java总结面试题和答案,1、Seata是什么在微服务架构下,由于数据库和应

  • 基于Seata探寻分布式事务的实现方案

    作者:京东物流技术与数据智能部张硕1、背景知识随着业务的快速发展、业务复杂度越来越高,几乎每个公司的系统都会从单体走向分布式,特别是转向微服务架构。随之而来就必然遇到分布式事务这个难题,这篇文章通过seata框架总结了分布式事务的几种解决方案1.1ACID关系型数据库具有解决复杂事务场景的能力,关系

  • 面试突击:SpringBoot 事务不回滚?怎么解决?

    在SpringBoot中,造成事务不自动回滚的场景有很多,比如以下这些:非public修饰的方法中的事务不自动回滚;当@Transactional遇上try/catch事务不自动回滚;调用类内部的@Transactional方法事务不自动回滚;抛出检查异常时事务不自动回滚;数据库不支持事务,事务也不

  • 面试突击:Spring 有几种事务隔离级别?

    Spring中的事务隔离级别和数据库中的事务隔离级别稍有不同,以MySQL为例,MySQL的InnoDB引擎中的事务隔离级别有4种,而Spring中却包含了5种事务隔离级别。1、什么是事务隔离级别?​事务隔离级别是对事务4大特性中隔离性的具体体现,使用事务隔离级别可以控制并发事务在同时执行时的某种行

  • 深入理解 Spring 事务:入门、使用、原理

    ​大家好,我是树哥。Spring事务是复杂一致性业务必备的知识点,掌握好Spring事务可以让我们写出更好地代码。这篇文章我们将介绍Spring事务的诞生背景,从而让我们可以更清晰地了解Spring事务存在的意义。接着,我们会介绍如何快速使用Spring事务。接着,我们会介绍Spring事务的一些特

  • MySQL 死锁了,怎么办?

    之前分享过​​ MySQL死锁​​的文章,然后很多读者对「插入意向锁」认识很迷糊。大家误以为「插入意向锁」是意向锁,也就是表锁,确实这个名字很让人误解。但是,实际上「插入意向锁」不是意向锁,而是特殊的间隙锁,属于行级锁,注意是「特殊」的间隙锁,并不是我们常说的间隙锁。所以,我在原来文章的基

  • 为什么 insert 配置 "SELECT LAST_INSERT_ID()" 返回个0呢?

    一、前言:一个Bug没想到一个Bug,竟然搞我两次!我大抵是卷上瘾了,横竖都睡不着,坐起来身来打开Mac和外接显示器,这Bug没有由来,默然看着打印异常的屏幕,一个是我的,另外一个也是我的。今天这个问题主要体现在大家平常用的Mybatis,在插入数据的时候,我们可以把库表索引的返回值通过入参对象返回

  • 别再说你不知道分布式事务了

    简介我们都知道 Seata 是一个分布式事务的解决方案,今天我们就来带大家了解一下什么是分布式事务,首先我们先来了解一下基础的知识——事务,我们先来了解一下事务的概念是什么。基本概念事务四部分构成— ACID:A(Atomic):原子性,构成事务的所有操作,要么全部执行

  • 分布式事务:分布式事务核心原理与Seata介绍

    今天,就正式进入分布式事务篇章的学习,首先,我们简单介绍下分布式事务的核心原理与SpringCloudAlibaba技术栈中的Seata框架。本章总览分布式事务分布式事务是互联网行业一直无法绕过的技术难题,如何更加高效的学习分布式事务呢?Seata介绍Seata相关的内容来自Seata官网。链接:h

  • @Transactional 竟也能解决分布式事务?

    前天朋友咨询过我一个问题,大致内容如下:这位读者什么意思呢?简单的总结下:在Sharding-JDBC中明明只是简单的使用@Transactional这个本地事务注解,为什么在跨库插入数据时候却能够同时回滚?我们知道单数据节点的情况下保持事务是非常简单的,只需要使用本地事务即可轻松解决,比如常用的注

  • Spring 随便问,我来答!

    你好,我是yes。话不多少,发车!说下SpringBean的生命周期在说具体的生命周期前,我们需要先知晓之所以Bean容易被添加一些属性,或者能在运行时被改造就是因为在生成Bean的时候,Spring对外暴露出很多扩展点。基于这些点我们可以设置一些逻辑,Spring会在Bean创建的某些阶段根据这些

  • MQ 幂等、去重,有哪些通用的解决方案?

    前言消息中间件是分布式系统常用的组件,无论是异步化、解耦、削峰等都有广泛的应用价值。我们通常会认为,消息中间件是一个可靠的组件——这里所谓的可靠是指,只要我把消息成功投递到了消息中间件,消息就不会丢失,即消息肯定会至少保证消息能被消费者成功消费一次,这是消息中间件最基本的特性之一,也就是我们常说的“

  • 实战!阿里神器 Seata 实现 TCC模式 解决分布式事务,真香!

    本文转载自微信公众号「码猿技术专栏」,作者不才陈某。转载本文请联系码猿技术专栏公众号。今天这篇文章介绍一下Seata如何实现TCC事务模式,文章目录如下:什么是TCC模式?TCC(TryConfirmCancel)方案是一种应用层面侵入业务的两阶段提交。是目前最火的一种柔性事务方案,其核心思想是:针

  • 你再不知道分布式事务,我就真的生气了!

    最近看了几篇有关于分布式事务的博文,做了一下笔记,并总结出这篇文章。图片来自Pexels数据库事务数据库事务(简称:事务),是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。数据库事务的几个典型特性:原子性(At

  • 5种分布式事务解决方案优缺点对比

    背景分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在微服务架构中,几乎可以说是无法避免。ACID指数据库事务正确执行的四个基本要素:原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability)CA

  • 资深程序员经典总结:MySQL的并发控制原理

    MySQL是主流的开源关系型数据库,提供高性能的数据存储服务。我们在做后端开发时,性能瓶颈往往不是应用本身,而是数据库层面。所以掌握MySQL的一些底层原理有助于我们更好地理解MySQL,对MySQL进行性能调优,从而开发高性能的后端服务。MySQL的逻辑架构MySQL的逻辑架构如下图:最上层是处理

  • 一次给女朋友转账引发我对分布式事务的思考

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

  • 事务系统实现模式很简单?你确定没忽视这些差异?

     本文试图讨论这几个问题:MySQL的redolog和binlog为什么要用XA?MongoDB的oplog是按照什么顺序复制?Raft真的只能串行Apply吗?数据库的复制和事务是完全独立的两回事?为什么MySQL不早点做一个Raft插件,直接用Raft实现高可用?本文旨在阐述Fault

  • Spring事务用法示例与实现原理

    关于事务,简单来说,就是为了保证数据完整性而存在的一种工具,其主要有四大特性:原子性,一致性,隔离性和持久性。对于Spring事务,其最终还是在数据库层面实现的,而Spring只是以一种比较优雅的方式对其进行封装支持。本文首先会通过一个简单的示例来讲解Spring事务是如何使用的,然后会讲解Spri

推荐阅读