SOFA WEEKLY | 每周精选,筛选每周精华问答
同步开源进展,欢迎留言互动
SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,动态配置推送,分布式链路追踪,Metrics 监控度量,分布式高可用消息队列,分布式事务框架,分布式数据库代理层等组件,也是在金融场景里锤炼出来的最佳实践。
SOFA 文档: https://www.sofastack.tech/
SOFA: https://github.com/sofastack
每周推荐阅读
每周读者问答提炼
欢迎大家向公众号留言提问或在群里与我们互动
我们会筛选重点问题通过
" SOFA WEEKLY " 的形式回复
1、@盛翔 提问:
咨询以下, SOFATracer 支持 webflux 么?
A:支持的,可以看下下文链接,SOFATracer 从 3.0.0 版本开始支持。
https://github.com/sofastack/sofa-tracer/pull/96
我们采用了 spring-cloud-gateway 作为前置网关, 想要在这个里面嵌入一个 tracer,目前 SOFATracer 的 webflux 支持是基于 webflux-mvc 做的支持,gateway 和那个很相似,但还是有区别。
A:嗯,两个还是不一样的,spring-cloud-gateway 的集成也在推进中。
有对应 Issue 么?我这边有这个诉求,这个和 spring-mvc-webflux 还是很相似的,有 Issue 的话,我看能不能参照 mvc 实现一个 plugin。
A:可以提一个~也可以参考:
https://github.com/sofastack/sofa-tracer/blob/master/CONTRIBUTING.md
2、@用友吴尊前 提问:
在一个分支事务内 执行两次 update,第一次:100 更新成 98,第二次 98 更新成 96,报错回滚, 回滚成 98,这应该有问题吧?
A:应该是回滚到 96。这里 debug 看下,这种场景,这里应该有 2 个 SQLUndoLog。 确认一下是不是没有进行倒序处理的问题。另外,这个是两个分布式事务还是一个?
一个分布式事务的一个事务分支, 两条语句在一个本地事务内。 应该就是你说的地方需要进行倒序,debug 看有两条数据,顺序是正序,代码也看到是 append 上去的。
A:可以提个 PR 修改一下。
3、@刘晓敏 提问:
如果数据源用了代理,同时又使用了 TCC 模式,那么 branch 会在 tccaction 代理那里注册一次,在数据源还会注册一次,注册的分别是是 TCC 分支和 AT 分支,这样是不是不太好?
A:会有这个问题,最后不要在 TCC 的数据源上加 AT 的代理。我也可以在 TCC 方法内清除分布式事务上下文,需要调整代码。
每周 SOFA 进展
本周发布详情如下:
1、发布 SOFARPC v5.5.4 版本 , 主要变更如下:
i. 修复 SOFARegistry 场景下地址判断的可能问题
ii. 支持基础动态配置模型
iii. 修复配置项获取时候可能的 NPE
详细参考发布报告:
https://github.com/alipay/sofa-rpc/releases/tag/v5.5.4
2、发布 SOFALookout v1.5.4 版本 , 主要变更如下:
i. TopUtil 的并发 bugfix
ii. 客户端支持动态过滤 metrics 的配置
详细参考发布报告:
https://github.com/sofastack/sofa-lookout/releases/tag/1.5.4
3、发布 SOFABoot v3.1.4 版本,主要变更如下:
i. 升级 SOFATracer 版本至 3.0.5
ii. 升级 SOFARPC Starter 版本至 6.0.2
iii. 修复启动期健康检查失败
详细参考发布报告:
https://github.com/sofastack/sofa-build/releases/tag/3.1.4
4、发布 SOFABolt v1.6.0 版本,主要变更如下:
i. 统一组件生命周期接口
ii. 抽象并沉淀网络组件的 API
iii. 收敛配置入口
详细参考发布报告:
https://github.com/sofastack/sofa-bolt/releases/tag/v1.6.0
5、发布 SOFA Mosn 发布 v0.5.0 版本,主要变更如下:
i. 新功能支持
支持静态模式和 xDS 模式混合配置
支持 stream filters 动态更新对存量连接生效
支持 ADMIN API 可扩展
ii. 优化
完善了解析 JSON 配置文件的逻辑
优化针对大包场景的内存复用
优化首次启动时对 Metrics 共享内存的处理
iii. 重构
引用路径从"github.com/alipay/sofa-mosn"修改为"sofastack.io/sofa-mosn"
详细参考发布报告:
https://github.com/sofastack/sofa-mosn/releases/tag/0.5.0
6、发布 Seata 0.6.1 版本, 主要变更如下:
i. 支持 weibo/motan 上下文透传
ii. 支持多环境配置隔离
iii. 修复分支事务提交和回滚时 xid使用错误的问题
iv. 修复 Windows 下 seata-server.bat classpath 过长的问题
v. 修复脏写校验时时间类型数据校验失败问题
详细参考发布报告:
https://github.com/seata/awesome-seata/blob/master/pr/release/zh-cn/Seata-0.6.1.md
SOFA 活动推荐
6月24日(星期一)KubeCon China 又要来了。KubeCon + CloudNativeCon + Open Source Summit China 2019,蚂蚁金服核心技术团队将举办一场全天的 Workshop,给大家分享分布式架构 SOFAStack、Service Mesh、Serverless、分布式事务 Seata 的实践案例,跟大家一起轻松上手云原生技术。
主题:《蚂蚁金服 SOFAStack 云原生工作坊》(KubeCon China 2019 同场活动)
时间:6 月 24 日 9:00-16:30
地点:上海世博中心
注册费:免费
此次活动您将获得:
基于 SOFAStack 快速构建微服务
金融场景下的分布式事务最佳实践
基于 Kubernetes 的云原生部署体验
云上的 Service Mesh 基本使用场景体验
基于 Serverless 轻松构建云上应用
欢迎点击“阅读原文”,查看活动详细安排以及报名方式~