SOFA Weekly | SOFA-Common-Tools 发布新版本, QA 整理

SOFA WEEKLY | 每周精选,筛选每周精华问答

同步开源进展,欢迎留言互动

SOFA Stack( S calable  O pen  F inancial  A rchitecture Stack)是蚂蚁集团自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,动态配置推送,分布式链路追踪,Metrics 监控度量,分布式高可用消息队列,分布式事务框架,分布式数据库代理层等组件,也是在金融场景里锤炼出来的最佳实践。

SOFAStack 官网:  https://www.sofastack.tech

SOFAStack:  https://github.com/sofastack

    每周读者问答提炼   

欢迎大家向公众号留言提问或在群里与我们互动

我们会筛选重点问题通过 

” SOFA WEEKLY ” 的形式回复

1、@薛帅领 提问:

多数据源切换后,增加事务但不起作用(切数据源是执行方法后才切换的), 事务及  S eate 分布式事务也不可以, 这个有什么好的解决方案吗?

A:Spring 本地事务注解本身就不支持多数据源事务,且如果你开启了本地事务,之后并不会进入你的切换数据源的切面。在多数据源下,去掉本地事务注解就好了。用 g lobaltransactional 注解在多数据源的入口加上,多个数据源都被 Seata 代理的话,就会保证多数据源的事务。

2、@李天宇 提问

如果在分布式事务中,另一个线程做批处理 update 之类的,是否会锁住呢?

A:不会,另一个线程也要记得加上 globaltransactional 注解就行了。在 a 线程要提交之前要去尝试拿到它修改数据的全局锁的,如果 a 拿到了,但是还没到二阶段提交,b 也是要去尝试拿,拿不到就会不执行 SQL ,等待全局锁释放了,也就是 a 发起的事务结束了,b 才能执行 SQL 提交。这样就保证了利用全局锁(粒度行级),来达到隔离性。

Seata: https://github.com/seata/seata

    本周推荐阅读   

    SOFA 项目进展   

本周发布详情如下:

SOFA-Common-Tools 发布1.3.0 版本 ,主要变更如下:

  • SOFA 线程池支持 ScheduledThreadPoolExecutor 与 ThreadPoolTaskScheduler

  • 新增 SofaConfigs 支持统一的配置获取

  • 新增 LogCode2Description 支持统一的错误码获取

  • 重构线程池实现,支持更丰富的监控数据

  • 所有组件统一 spce 属性获取逻辑

  • 修复配置日志输出到控制台时不生效的问题

详细参考:

https://github.com/sofastack/sofa-common-tools/releases/tag/v1.3.0

本文归档在 sofastack.tech。

金融级分布式架构
我还没有学会写个人说明!
上一篇

丁香妈妈揭秘养娃五大现象,健身护肤课程最受宝妈青睐

下一篇

日本“隼鸟2号”第二次着陆采集石块图像公开 颗粒较粗大

你也可能喜欢

评论已经被关闭。

插入图片