SOFA WEEKLY | 每周精选,筛选每周精华问答
同步开源进展,欢迎留言互动
SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,动态配置推送,分布式链路追踪,Metrics 监控度量,分布式高可用消息队列,分布式事务框架,分布式数据库代理层等组件,也是在金融场景里锤炼出来的最佳实践。
SOFA 文档: https://www.sofastack.tech/
SOFA: https://github.com/sofastack
每周推荐阅读
每周读者问答提炼
欢迎大家向公众号留言提问或在群里与我们互动
我们会筛选重点问题通过
" SOFA WEEKLY " 的形式回复
1、@程春根 提问:
Seata 能只当本地事务来用吗?就是不用 TC 连接,只控制本地一个方法里的逻辑事务。
A:目前的设计必须有 TC,你只做本地事务用 Seata 也是会与 TC 交互。
@GlobalLock 这个是不是本地事务?
A:这个是本地事务优化,为了让本地事务读到分布式事务操作的非中间值,解决本地事务和分布式事务的隔离性问题。
2、@龙珩 提问:
相关阅读:分布式事务 Seata TCC 模式深度解析 | SOFAChannel#4 直播整理
之前 TCC 的视频里面有讲到加钱的场景,实际加钱的操作是在 Commit 的时候做的。请问如果这步失败了,我应该让 Commit 继续走完,还是直接抛异常?如果是抛异常的话 Seata 会继续重试 Commit,还是转而去调用 Rollback?
A:如果已经确定是 Commit 了,那就会持续调用 Commit,直至成功。
不知道我理解对不对,Commit 里面如果是遇到非业务逻辑错误,比如数据库连不上,就让他抛异常,让框架不断重试直到成功。但如果是业务逻辑错误,比如账号已经被删了,只能让 Commit先执行完了,因为重试再多也没意义了。
A:是的。
每周 SOFA 进展
本周发布详情如下:
1、发布 spring-cloud-sofastack-samples:
spring-cloud-sofastack-samples 是基于 SOFA 和 SpringCloud 构建的一套微服务系统,希望通过此案例工程,提供一个完整的基于 SOFA 和 SpringCloud 体系构建的基础的工程模型,帮助更好的理解和使用 SOFA 开源生态提供的一系列基础框架和组件。
项目地址:
https://github.com/sofastack/spring-cloud-sofastack-samples
项目文档:
https://github.com/sofastack/spring-cloud-sofastack-samples/wiki
2、发布 SOFATracer 3.0.5 版本,主要变更如下:
i. 兼容 openfeign 9.x 版本
详细参考发布报告:
https://github.com/sofastack/sofa-tracer/releases/tag/v3.0.5
SOFA 活动推荐
SOFA Meetup #2 上海站《使用 SOFAStack 快速构建微服务》报名进行中❤~
5 月 26 日,SOFAStack 开源核心成员集体出动。本期我们将侧重于各个落地的实际场景进行架构解析。
分布式事务 Seata 详解、与 Spring Cloud 生态的融合案例、使用 SOFAStack 快速构建微服务 Demo 实操、更有最新开源的《让 AI 像 SQL 一样简单 — SQLFlow Demo 》首秀,期待与你不见不散~
| 报名方式
点击“阅读原文”即可报名。
| 活动详细介绍
详见次条推文介绍。