Seata的这些安保机制是否会让你更放心

本文探讨了Seata在SpringBoot项目中的安全机制,包括如何通过配置开关启动或禁用Seata功能、数据源代理的控制、避免不必要的事务注解生效、全局事务的动态启停和降级能力。此外,还介绍了如何处理无需分布式事务的数据源以及按请求属性启用全局事务的方法。
摘要由CSDN通过智能技术生成

一、背景

SpringBoot 项目,通过引入seata-spring-boot-starter来接入 Seata,Seata 的能力会通过 SpringBoot 的自动装配机制来引入。在学习的时候是梳理有什么强大的、科技感十足的能力,但在试点的时候则更多考虑的是有哪些安保机制,比如通过什么开关来启停某某功能,以保护程序。今天就梳理有什么安保机制,划清能力边界,让使用者不必太过担心;生产中安全永远是第一的嘛。

二、认知拉齐-starter 中提供什么能力

第二部分若真不熟悉,看不懂可跳过进入第三部分。

Pom 依赖

<dependency>
   <groupId>io.seata</groupId>
   <artifactId>seata-spring-boot-starter</artifactId>
   <version>${seata.version}</version>
</dependency>
复制代码

梳理自动装配类,直接从seata-spring-boot-starter中找文件spring.factories,其中有以下自动装配类:

# Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
io.seata.spring.boot.autoconfigure.SeataDataSourceAutoConfiguration,\
io.seata.spring.boot.autoconfigure.SeataAutoConfiguration,\
io.seata.spring.boot.autoconfigure.HttpAutoConfiguration,\
io.seata.spring.boot.autoconfigure.SeataSagaAutoConfiguration
复制代码

1) SeataDataSourceAutoConfiguration

Seata 的 AT 和 AX 模式是基于数据源代理实现的,SeataDataSourceAutoConfiguration 中自动对数据源做了代理,不用使用者手动实现代理。

2) SeataAutoConfiguration

  • 构建全局事务扫描器GlobalTransactionScanner,注入到容器中,其内部做 2 件事情
    • 会初始化 TM、RM 客户端
    • 扫描Bean,对添加了全局事务注解的类(@GlobalTransactional@Glo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值