SOFA WEEKLY | 每周精选,筛选每周精华问答
同步开源进展,欢迎留言互动
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
更多文章请扫码关注“金融级分布式架构”公众号