# 什么情况下需要使用分布式事务,有哪些方案?
7 min read
分布式事务是指跨越多个独立数据节点(数据库、服务等)的原子性操作,确保在分布式环境下多个操作要么全部成功,要么全部失败回滚。
分布式事务是指跨越多个独立数据节点(数据库、服务等)的原子性操作,确保在分布式环境下多个操作要么全部成功,要么全部失败回滚。
CAS(Compare-And-Swap)是一种无锁的原子操作,它通过比较内存中的值与预期值是否相等来决定是否更新为新值,整个过程在硬件层面保证原子性。
Java 内存模型(JMM)是一个规范,它定义了Java程序中各种变量(线程共享变量)的访问规则,以及在JVM中将变量存储到内存和从内存中读取变量的底层细节,其核心目标是解决多线程环境下,由于内存可见性、指令重排序等问题导致的并发安全问题。
原子性、可见性和有序性是 Java 内存模型(JMM)定义的、用于保证多线程环境下程序正确执行的三个核心特性,它们是理解并发编程中线程安全问题的基石。
【核心定义】 ABA 问题是指在并发编程中,一个共享变量的值从 A 变为 B,然后又变回 A,而使用 CAS(Compare-And-Swap)操作的线程会误认为该变量从未被修改过,从而导致逻辑错误的一种现象。
【核心定义】Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务,其核心本质是通过 TC(事务协调器) 统一协调多个微服务的本地事务,保证全局事务的 ACID 特性。