分布式系统里的事务真不好搞,是跨库的场景,坑还挺多的。这个资料把**Oracle 控制的分布式事务**和**基于 XA 协议的事务**讲得挺细,还结合了实际架构设计、超时控制、锁机制、重做日志等问题,基本上你能遇到的坑它都给你提前踩了一遍。
Oracle 自带的分布式事务用的是SCN 机制,一致性强但有丢数据。适合那种对一致性要求死死的场景,比如金融清算一类的业务。
基于XA 协议的分布式事务通用性更强一点,像JTA和JTS就用得比较多,是在 Java 后端开发里,用中间件(比如 WebLogic)配合数据库可以比较优雅地搞定事务分布。
文章还顺带聊了中间件集成 XA、Oracle RAC 环境下的事务管理、只读优化、账户权限配置等等。细节挺多的,不过写得不啰嗦,干货居多,看起来还蛮轻松。
如果你做系统集成、中间层开发、微服务拆库拆表的项目比较多,这类分布式事务的资料真的可以先收藏起来,实操中用得到的点还挺多。