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


    一、背景

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

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

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

    Pom 依赖

    1. <dependency>
    2. <groupId>io.seata</groupId>
    3. <artifactId>seata-spring-boot-starter</artifactId>
    4. <version>${seata.version}</version>
    5. </dependency>
    6. 复制代码

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

    1. # Auto Configure
    2. org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
    3. io.seata.spring.boot.autoconfigure.SeataDataSourceAutoConfiguration,\
    4. io.seata.spring.boot.autoconfigure.SeataAutoConfiguration,\
    5. io.seata.spring.boot.autoconfigure.HttpAutoConfiguration,\
    6. io.seata.spring.boot.autoconfigure.SeataSagaAutoConfiguration
    7. 复制代码

    1) SeataDataSourceAutoConfiguration

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

    2) SeataAutoConfiguration

    • 构建全局事务扫描器GlobalTransactionScanner,注入到容器中,其内部做 2 件事情
      • 会初始化 TM、RM 客户端
      • 扫描Bean,对添加了全局事务注解的类(@GlobalTra
  • 相关阅读:
    【微服务】mysql + elasticsearch数据双写设计与实现
    线程安全问题
    Azkaban登录分析
    SpringBoot如何优雅的输出异常信息?
    Linux
    【C++】C++的IO流
    【计算机毕业设计】Java ssm 高校运动会管理系统(开题+源码+论文)
    初级算法之数组
    【MAPBOX基础功能】08、mapbox绘制点图层并进行添加、删除、更新、显隐等操作
    STM32_IIC
  • 原文地址:https://blog.csdn.net/java_beautiful/article/details/128158725