SOFA WEEKLY | 每周精选,筛选每周精华问答 同步开源进展,欢迎留言互动
SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁金服自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,动态配置推送,分布式链路追踪,Metrics 监控度量,分布式高可用消息队列,分布式事务框架,分布式数据库代理层等组件,也是在金融场景里锤炼出来的最佳实践。
SOFAStack 官网: https://www.sofastack.tech
SOFAStack: https://github.com/sofastack
每周读者问答提炼
欢迎大家向公众号留言提问或在群里与我们互动 我们会筛选重点问题 通过 “ SOFA WEEKLY ” 的形式回复
1、@缪文 提问:
SOFA-Boot 框架,模块隔离时,子 module 中引入 mybatis 框架,@MapperScan 注解是在RootContext 中扫描,还是在子 module 中扫描?
A: 非 auto 的 configuration 都是在对应模块进行解析的。
SOFABoot:https://github.com/sofastack/sofa-boot
2、@李扬 提问:
分支事务被回滚是同步还是异步的,如果是异步的,能加监听方法吗?
A:可以实现 transactionhook 这个类,然后在 tm 发起者里加入到 Transaction HookManager#registerHook 。这样在二阶段决议后,可以做一些小动作,比如二阶段提交的时候,再执行 redis ,mongo 的数据插入。
3、@吴国柱 提问:
本地事务与全局事务一起开启会有问题吗?
A:全局事务要在本地事务的外层,就是包裹本地事务,不能由本地事务包裹全局事务。本地事务出异常都不会进行注册,也就代表本地事务如果出问题本地事务自行会回滚(基础知识),如果本地事务提交了,其它服务的本地事务出现异常,或者业务代码出现异常,将有 Seata来负责把已提交的事务回滚。
Seata:https://github.com/seata/seata
SOFAChannel 部分合辑
- 人人都可以“机密计算”:Occlum 使用入门和技术揭秘 | 开源
- 蚂蚁集团网络通信框架 SOFABolt 功能介绍及协议框架解析 | 开源
- 不得不说的云原生隔离性 | SOFAChannel#16 直播回顾
- 蚂蚁集团分布式链路组件 SOFATracer 埋点机制解析 | SOFAChannel#15 直播整理
- 云原生网络代理 MOSN 扩展机制解析 | SOFAChannel#14 直播整理
- 云原生网络代理 MOSN 多协议机制解析 | SOFAChannel#13 直播整理
- 蚂蚁集团分布式事务实践解析 | SOFAChannel#12 直播整理
- 从一个例子开始体验轻量级类隔离容器 SOFAArk | SOFAChannel#11 直播整理