事务
已收录文章:15篇
-
文章 · java教程 | 2个月前 | 消息队列 · Java · 事务 · 架构设计 · Spring Boot · spring boot 最终一致性 事务消息表 Outbox Pattern 订单通知订单状态写入数据库后再发送通知,最容易出现数据库成功而消息丢失的窗口。本文用 Spring Boot 和 outbox_event 表,把业务写入与待发送事件放进同一个事务,再用独立发送器处理重试、幂等和失败回退。498 收藏
-
MySQL 事务中遇到一条可恢复的业务错误时,不必立刻回滚全部操作。本文用 SAVEPOINT 演示局部回滚,解释保存点对锁状态的影响,并给出重试与提交前核对边界。482 收藏
-
MySQL 存储过程遇到业务校验失败时,SIGNAL 可以主动抛出可识别错误,RESIGNAL 可以在处理器中保留或补充原始诊断信息。本文用订单额度校验示例说明错误传递、事务回滚和调用方验收的边界。438 收藏
-
InnoDB 默认使用 REPEATABLE READ,范围更新可能拿到间隙锁。本文用订单号范围写入场景对比 READ COMMITTED 的锁行为,说明它能减少什么等待、不能替代什么并发保护,以及上线前如何用 data_locks 和事务回归确认结果。421 收藏
-
MySQL 8.4 的 InnoDB 死锁发生后会自动选择一个事务回滚,但应用仍要识别错误并重试。本文用订单与库存更新场景还原锁等待环路,演示如何读取 SHOW ENGINE INNODB STATUS、开启 innodb_print_all_deadlocks、判断受害事务并验收安全重试。419 收藏
-
MySQL XA 事务进入 PREPARED 后,连接断开并不代表事务已经消失。本文从 XA RECOVER、事务分支和业务提交记录入手,说明如何区分可提交、可回滚和需要人工确认的状态,并给出恢复前后的验收边界。412 收藏
-
Spring 服务里一个带 @Transactional 的方法被同类普通方法直接调用时,事务可能没有开启。以订单创建与库存扣减场景为例,本文说明代理边界、日志验证、拆分服务的稳妥修法,以及哪些替代写法不适合长期使用。406 收藏
-
一次报表临时表误清空事故,带你看清 MySQL 中 TRUNCATE TABLE 的隐式提交边界、为什么 ROLLBACK 救不回来,以及线上清理表数据时怎样保留可回退窗口。382 收藏
-
用最小 SQL 验证 MySQL READ ONLY 事务的真实边界:哪些普通表写入会失败,为什么临时表仍可修改,以及连接池复用时如何确认只读状态没有泄漏。335 收藏
-
PHP PDO 事务里最容易误判的不是 beginTransaction,而是异常有没有真正离开业务边界、commit 是否只发生一次,以及回滚后调用方是否仍把失败当成功。本文用订单扣库存场景拆开这些边界。329 收藏
-
MySQL InnoDB 事务死锁发生后,不能只看一条报错就改重试。本文用订单与库存更新场景还原锁等待环路,演示如何读取 SHOW ENGINE INNODB STATUS、关联 performance_schema、判断受害事务并验证修复是否真正降低死锁风险。275 收藏
-
MySQL 8.4 的 InnoDB 死锁发生后会自动选择一个事务回滚,但应用仍要识别错误并重试。本文用订单与库存更新场景演示如何读取 SHOW ENGINE INNODB STATUS、开启 innodb_print_all_deadlocks、判断受害事务并验收重试策略。238 收藏