SOFA WEEKLY | 每周精选,筛选每周精华问答
同步开源进展,欢迎留言互动
SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,动态配置推送,分布式链路追踪,Metrics 监控度量,分布式高可用消息队列,分布式事务框架,分布式数据库代理层等组件,也是在金融场景里锤炼出来的最佳实践。
SOFA 文档: https://www.sofastack.tech/
SOFA: https://github.com/alipay
每周推荐阅读
海量数据下的注册中心 - SOFARegistry 架构介绍(文末有共建文章领取列表)
分布式事务 Seata TCC 模式深度解析 | SOFAChannel#4 直播整理
每周读者问答提炼
欢迎大家向公众号留言提问或在群里与我们互动
我们会筛选重点问题通过
" SOFA WEEKLY " 的形式回复
1、关于 SOFARegistry 的讨论
项目地址:
https://github.com/alipay/sofa-registry
@LV 提问:
感知和摘掉之间存在时差,时差之内客户端缓存没有变更,如何保证的不会发生服务调用失败?
A:时差是一定存在的,这个需要依靠 RPC 框架有一定的容错能力,比如 SOFARPC 在每次调用前会检查连接是否存活,还有自动故障剔除的机制,详情可见:
https://www.sofastack.tech/sofa-rpc/docs/Fault-Tolerance
《自动故障剔除机制》一文中通过统计时间窗口内的平均异常率能解决一般性的问题,那对于突发问题来说又该怎样应对呢?毕竟秒级的影响对重要业务来说是不能容忍的。
A:RPC 在遇到调用失败时(框架层面异常或网络异常)是有重试机制的,即会重新选择另外的服务 IP 去调用,这个过程对业务是透明的。比如您说的某个机器宕机的情况,RPC 的重试机制可以使它在第一时间 failover 到另外的机器。详见《重试调用》:
https://www.sofastack.tech/sofa-rpc/docs/Retry-Invoke
再接着,会收到注册中心通知移除该宕机 IP,假如因为某些原因没有移除该IP的话,还有《自动故障剔除的机制》兜底,当然这些相对重试的 failover 来说就滞后了。
2、@闲人 提问:
SOFARPC 默认会把链接跟踪的包包含进来,现在我们一个消费端调用频率非常高,服务端会抛业务异常出来,但消费端会把业务异常当作中间件异常,使我们的日志文件极速膨胀。特别是 middleware_error.log 和 rpc-client-digest.log,请问有没有办法在未引入链路跟踪组件的情况下,关闭链路的日志?
A:配置文件中 SofaBootRpcProperties.PREFIX + .defaultTracer=
-D参数可以参考下方链接中的配置:
https://github.com/alipay/sofa-rpc-boot-projects/issues/149
3、@徐利飞 提问:
Springcloud + SOFATracer 怎么整合?
A:可以看下这个案例,在 Springboot 环境下也是可以的:
https://www.sofastack.tech/sofa-tracer/docs/Usage_Of_openfeign
可以不依赖 Zipkin 或 Zookeeper 吗?
A:SOFATracer 不依赖 Zookeeper,如果不使用 Zipkin 上报,可以通过 com.alipay.sofa.tracer.zipkin.enabled=false
来关闭。
4、@灰太狼 提问:
请教一下,按我的理解,一条业务 SQL,在 Seata 管理下会多出前镜像查询、后镜像查询、Undolog 插入数据库操作对吗?
A:是的,Insert 没有前镜像,Delete 无后镜像。
5、@文顺 提问:
请问 TC 不需要用数据库吗?
A:目前是用文件+内存的,我们后面很快会发布一个数据库的。
SOFAChannel 线上直播回顾集合
https://tech.antfin.com/activities/462
SOFARPC 性能优化实践(下)| SOFAChannel#3 直播整理
https://tech.antfin.com/activities/245SOFARPC 性能优化实践(上)| SOFAChannel#2 直播整理
https://tech.antfin.com/activities/244从蚂蚁金服微服务实践谈起 | SOFAChannel#1 直播整理
https://tech.antfin.com/activities/148
本文分享自微信公众号 - 金融级分布式架构(Antfin_SOFA)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。