摘要: 1. 最大努力通知是什么 保证最终一致性的一种分布式事务方案 2. 最大努力通知流程 3. 最大努力通知使用场景 适用于一些最终一致性、时间敏感度低、允许少量的分布式事务失败的业务,且被动方处理结果不影响主动方的处理结果,比如银行通知、支付结果通知等。 多个服务多个数据源且数据源可以不是DB 4. 阅读全文
posted @ 2025-07-07 10:34 ThinkerQAQ 阅读(9) 评论(0) 推荐(0)
摘要: 1. 可靠消息最终一致性是什么 保证最终一致性的一种分布式事务方案 2. 可靠消息最终一致性流程 3. 可靠消息最终一致性的使用场景 适用于一些最终一致性、时间敏感度低、分布式事务只能成功不能失败的业务,比如注册送积分,登录送优惠券等 多个服务多个数据源且数据源可以不是DB 4. 可靠消息最终一致性 阅读全文
posted @ 2025-07-07 10:33 ThinkerQAQ 阅读(11) 评论(0) 推荐(0)
摘要: 1. Saga是什么 保证最终一致性的一种分布式事务方案 2. Saga流程 有多个事务参与者,每个参与者都有两块逻辑:正向操作和逆向操作 把事务分成两个阶段 第一阶段每个参与者执行正向操作 第二阶段根据第一阶段结果而定 如果所有正向操作均执行成功,那么分布式事务提交 如果任何一个正向操作执行失败, 阅读全文
posted @ 2025-07-07 10:32 ThinkerQAQ 阅读(10) 评论(0) 推荐(0)
摘要: 1. 3PC是什么 证强一致性的一种分布式事务方案,2PC的改进版 2. 3PC流程 把2PC中的第一阶段拆分成两步,因此整个事务过程分成3个阶段:CanCommit、PreCommit、DoCommit CanCommit阶段:协调者向所有参与者询问你们是否可以完成本次事务?,各个参与者检查下自身 阅读全文
posted @ 2025-07-06 21:50 ThinkerQAQ 阅读(7) 评论(0) 推荐(0)
摘要: 目录1. 使用1.1. 新建maven项目1.2. pom.xml1.3. 配置mybatis1.4. 新建mapper1.5. 测试1.6. 项目结构2. 源码分析2.1. 框架分层2.2. 四大对象2.3. 要分析的代码2.4. 获取SqlSessionFactory对象2.4.1. 解析xml 阅读全文
posted @ 2025-07-06 21:12 ThinkerQAQ 阅读(12) 评论(0) 推荐(0)
摘要: 目录1. TCC是什么2. TCC流程3. 2PC vs TCC4. TCC的问题5. TCC的使用场景6. TCC的实现6.1. Seata的TCC模式6.2. Seata的AT模式7. 参考 1. TCC是什么 保证最终一致性的一种分布式事务方案 2. TCC流程 TCC:Try、 Confir 阅读全文
posted @ 2025-07-06 19:15 ThinkerQAQ 阅读(10) 评论(0) 推荐(0)
摘要: 目录1. 2PC是什么2. 2PC流程3. 2PC的使用场景4. 2PC的问题5. 2PC的实现5.1. XA5.2. Seata的XA模式6. 参考 1. 2PC是什么 保证强一致性的一种分布式事务方案 2. 2PC流程 把事务分成两个阶段 第一阶段:由事务管理器向所有database发送prep 阅读全文
posted @ 2025-07-06 19:14 ThinkerQAQ 阅读(31) 评论(0) 推荐(0)
摘要: 目录1. 使用1.1. 新建项目1.1.1. 第一种方式1.1.1.1. 新建web项目1.1.1.2. 导入jar包依赖1.1.2. 第二种方式1.1.2.1. 新建maven工程1.1.2.2. 添加web框架支持1.1.2.3. maven pom 依赖1.1.2.4. 修改project配置 阅读全文
posted @ 2025-07-06 11:39 ThinkerQAQ 阅读(5) 评论(0) 推荐(0)
摘要: 目录1. 开启事务管理注解2. TransactionManagementConfigurationSelector向容器导入AutoProxyRegistrar和ProxyTransactionManagementConfiguration2.1. ImportSelector的selectImp 阅读全文
posted @ 2025-07-05 10:29 ThinkerQAQ 阅读(8) 评论(0) 推荐(0)
摘要: 目录1. 要研究的代码2. 实例化所有非懒加载的单实例bean2.1. 获取所有BeanName,一个个创建2.2. 创建单个bean2.3. 看看之前创建bean有木有,没有再去创建【不是缓存,而是之前步骤创建的Bean】2.4. 从缓存中获取,没有再创建2.5. 先看看能不能返回代理对象,不能再 阅读全文
posted @ 2025-07-04 21:23 ThinkerQAQ 阅读(87) 评论(0) 推荐(0)