SOFA Weekly | MOSN 发布新版本,QA 整理

2021-08-06 · SOFA 团队 ·

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

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

weekly.jpg

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

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

SOFAStack: https://github.com/sofastack

每周读者问答提炼

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

我们会筛选重点问题

通过 “ SOFA WEEKLY ” 的形式回复

@非余 提问:

我有个需求,就是我们有自己的配置中心,我的配置加载不想用默认的文件配置,这里如果我要开发的话应该怎么样加会比较漂亮?

A:把 config.Load 重写成你自己的配置解析,configmanager.RegisterConfigLoadFunc。

MOSN:https://github.com/mosn/mosn

@飒 提问:

一个方法先 insert 而后另一个方法 update 事物回滚失败怎么解决?

A:不会,可能你没有保证写函数被 @GlobalTransactional 注解覆盖或建表语句不是最新的导致了你回滚顺序变了。

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

@飒 提问:

A 服务使用了 @GlobalTransactional(rollbackFor = Exception.class),调用了 B 服务,B 服务报错了,结果都提交成功,数据库数据也更新了,一般是什么原因?

A:应该是你被调用的服务,没有加入到全局事务中去(也就是说,被调用的服务没加上 @GlobalTransactional)。

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

@冯仁彬 提问:

被调用的服务也必须添加 @GlobalTransactional?

A:被调用的服务如果自身不会有任何地方访问自己身的写库方法,那么仅需集成 Seata,如果自身有,那么自身的写库操作全部要被带有 @GlobalTransactional 注解的地方调用,至于这个入库你自己设计。

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

本周推荐阅读

本周发布

本周发布详情如下:

本周 MOSN 发布了 v0.24.0 版本。主要更新如下:

  • 支持 jaeger tracing;

  • grpc 框架支持热升级;

  • 变量机制支持 interface 类型的变量;

  • 路由模块优化,支持端口匹配、支持变量模式;

  • 负载均衡模块多处优化;

  • 其他优化与 Bug Fix。

详细发布报告:https://github.com/mosn/mosn/releases/tag/v0.24.0

更多文章请扫码关注“金融级分布式架构”公众号