(含活动报名)SOFA Weekly | 每周精选【4/8 - 4/12】

原创
2020/03/31 09:17
阅读数 74

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

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

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

SOFA 文档: https://www.sofastack.tech/

SOFA: https://github.com/alipay


  每周推荐阅读   


蚂蚁金服分布式事务开源以及实践 | SOFA 开源一周年献礼

详解蚂蚁金服 SOFAJRaft | 生产级高性能 Java 实现文末有共建文章领取列表)

蚂蚁中间件面试指南


  每周读者问答提炼  


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

我们会筛选重点问题通过 

" SOFA WEEKLY " 的形式回复

@谭智超 提问:

SOFARPC 的客户端想做 mock 测试,是使用 Filter 在中伪造返回对象就可以吗?还是有其它更好的实现?


A:之前有设想是在服务端管控一个 JSON 的对象表示,然后通过 Filter 中获取某次调用的 mock 结果,然后进行对应的值覆盖。大致思路是一样的,主要是管控和结果的设置和赋值。


@ 李盼庚 提问:

请教大家一个问题哈,SOFAArk 做了类隔离了,是否具有动态更新的能力?在不重启应用的情况下,变更某个 Ark Plugin?

A:可以参考下文链接内的动态合并部署,动态更新针对 Biz, 不针对  Plugin。

https://www.sofastack.tech/sofa-boot/docs/sofa-ark-readme


@ 浮云 提问:

使用线程池的时候怎么把 Trace 的上下文传递过去?

A:有 TracerCallable 和 TracerRunnable。如果要实现远程调用的话,看你的是什么远程调用,HTTP 还是 SOFARPC, 主要看 Tracer 有没有对对应的组件进行埋点。具体可以参考下文链接:

https://www.sofastack.tech/sofa-tracer/docs/Async


@ 上海树维-名-合肥 提问:

我测试了一种分库测试案例,比如 A->B->C,在 B 里面调用 C 之后和 B 执行本地事务代码之前打了断点,调用 c 完成后,关闭 C 服务,然后执行完断点代码,C 对应的数据库里面有 undo_log 日志并且数据已经被修改,然后启动服务 C,server 会通知 C 服务根据 undo_log 日志回滚数据,数据回滚之后,undo_log 表里面的那条日志记录状态没变化,不知道从哪里能看出来已经根据这条日志记录进行回滚操作了。

A:业务数据和日志上验证,之前 v0.4 版本改动导致 undolog 一个 bug,不能自动删除日志。v0.4 之后的版本已修复,详情如下:

https://github.com/seata/seata/pull/750/files


我觉得应该是 seate-server 通知的吧,如果不回滚,只能自己手动回滚嘛?

A:seata-server 是根据事务发起方的通知来协调的,也有可能是事务超时了。


server 不应该不断重试 通知 C 去回滚嘛,要不然 需要手动处理的数据在生产时可能会很多。

A:整个事务是要回滚还是提交决定好以后,server 就会不停的去调用参与者。


那刚才这种案例 只能手动去处理了嘛?

A:不用的。C 如果被调用到,并且数据回滚了,那 undo_log 日志也应该会删除。不应该数据回滚了,日志没删除的情况。


还有一种就是事务发起方 A 中途挂了,是不是也没人通知 B 去回滚了?

A:通知参与者都是 server 来通知的。只不过事务提交还是回滚是发起方 A 告诉 server 的。


如果事务发起方 A 中途挂了或者网络抖动会怎么样?

A:server 会在事务超时后,去通知参与者回滚。


  SOFA Missions  


1、 SOFAJRaft Metric 统计接口化:允许可插拔的 Metric 类库接入,默认是 Dropwizard,用户可实现该接口提供其他实现,如 Micrometer 等。

Issue: 

https://github.com/alipay/sofa-jraft/issues/38


2、文档贡献: 分布式计数器 Counter 例子时序图。

Issue:

https://github.com/alipay/sofa-jraft/issues/93


  SOFA 活动推荐  


2019 年 3 月,蚂蚁金服加入分布式事务 Seata 的社区共建中,并贡献其 TCC 模式。



<SOFA:Channel/> 系列第 4 期,4 月 18 日周四晚 7 点特邀 蚂蚁金服 技术专家 & Seata Commiter 觉生 与大家分享《分布式事务 Seata TCC 模式深度解析》。

| 复制链接至浏览器打开 or 点击阅读原文即可报名

http://t.cn/E6DoPlU


| 本期将带来:

  • TCC 模式基本原理解析

  • 分布式事务并发控制解析

  • 分布式事务空回滚与幂等解析

  • 分布式事务防悬挂解析

  • 分布式事务异步化解析


| 加入 SOFA 钉钉互动群

欢迎加入直播互动钉钉群:23127468(搜索群号加入即可)


本文分享自微信公众号 - 金融级分布式架构(Antfin_SOFA)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部