SOFA Weekly | 每周精选【9/2 - 9/6】

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

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

640?wx_fmt=png

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

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

SOFAStack: https://github.com/sofastack

  每周读者问答提炼  

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

我们会筛选重点问题通过 

" SOFA WEEKLY " 的形式回复

1、@王冰 提问:

请问个问题,SOFATracer 在采样计算时 rootSpan 为什么会计算两次,第一次是生成 span 时,第二次是在上报前又计算了一次?

A:这种是考虑到产生 span 的逻辑是业务自己来构建,非正常逻辑情况下的一种兼容处理。对于 Tracer 来说,所有的上报是必须 SOFATracer 的行为,因此在 report 之前也会基于当前采样策略计算一次计算。默认情况下产生跟 span 时的计算更多是 span 或者说 span context 的,这个会作为向下透传的。另外产生不一致的情况不会出现,上报那段逻辑会先检查当前 span 的父 span,如果父 span 是 null 也就意味着当前 span 是 root span,所以也必须要计算。

2、@迟广文 提问:

在使用 Seata 的时候,使用了 restful 框架,我的 TCC 调通了,是在接口上加了 @LocalTCC,实现类加 @Component,本以为会冲突,结果没有。

A:TCC 的代理会代理二种类型的分支:在本地标注为 localTcc,第二种是 RPC 框架(dubbo、sofa-rpc)当 consumer 端使用作为 reference bean 且在 provider 端标注了二阶段注解时,这二种类型时互斥的,一个 TCC 分支只属于其一类型。

  SOFAChannel 回顾集合  

  SOFA 项目进展  

本周发布详情如下:

1、SOFATracer v2.4.1/v3.0.6 版本发布,主要变更如下:

i. 支持自定义埋点 (FlexibleTracer)

ii. 支持 Dubbo 2.6.x

iii. 日志输出支持非 json 格式(xstringbuilder)

i. 支持自定义扩展 Repoter 上报

ii. Dubbo 2.7.x 系列支持 2.7.3 版本

iii. 修复 BasePreparedStatement 初始化问题

iv. 修复 SQLException 被覆盖问题

v. 优化常量命名及代码注释等

vi. 更新案例及官方文档

详细发布报告:

https://github.com/sofastack/sofa-tracer/releases/tag/v2.4.1

https://github.com/sofastack/sofa-tracer/releases/tag/v3.0.6

官方文档:

https://www.sofastack.tech/projects/sofa-tracer/overview/

2、SOFABoot v3.2.0 版本发布,主要变更如下:

i. 升级 sofa-bolt 版本至 1.5.6

ii. 根据 Spring Boot 官方文档建议重构工程代码和组织结构详细发布报告:

https://github.com/sofastack/sofa-boot/releases/tag/v3.2.0官方文档:

https://www.sofastack.tech/projects/sofa-boot/overview/

  SOFA 用户召集  

如果您已经在生产环境使用了 SOFAStack 相关组件,请在下方链接登记告诉我们,方便我们更好地为您服务,我们将会把您加入到 “SOFAStack金牌用户服务群【邀约制】”里面,以便更加快捷的沟通和更加高效的线上使用问题支持。

https://github.com/sofastack/sofastack.tech/issues/5 

已有用户查看:

https://www.sofastack.tech/awesome

本文归档在 sofastack.tech,点击“阅读原文”即可访问。

640?wx_fmt=png

代码下载链接: https://pan.quark.cn/s/a4b39357ea24 第 一 章 概述 1-1 简述计算机程序设计语言的发展阶段。 解: 自从计算机诞生以来,程序设计语言经历了从机器语言、汇编语言到高级语言的演变过程,C++语言作为一种面向对象的编程语言,也属于高级语言范畴。 1-2 面向对象的编程语言具备哪些特性? 解: 面向对象的编程语言与传统的编程语言有着本质的区别,其设计初衷是为了更直观地模拟现实世界中存在的事物及其相互关系。这类编程语言将客观事物视为具有属性和行为的对象,通过抽象方法提取出同一类对象的共同属性(静态特征)和行为(动态特征),从而构建类。借助类的继承与多态机制,能够便捷地实现代码复用,显著缩短软件开发,并确保软件风格的一致性。因此,面向对象的编程语言使得程序能够较为准确地反映问题域的本质,软件开发人员可以运用人类惯用的思维模式进行开发工作。C++语言是目前应用最为广泛的面向对象编程语言。 1-3 结构化程序设计方法是什么?这种方法有哪些优势和不足? 解: 结构化程序设计的核心思想是自顶向下、逐步求精;其程序结构按照功能划分为多个基本模块;各模块之间的关联尽可能简化,在功能上保持相对独立性;每个模块内部均由顺序、选择和循环三种基本结构构成;模块化实现的具体途径是利用子程序。结构化程序设计由于采用模块分解与功能抽象,自顶向下、分而治之的策略,从而有效地将一个较为复杂的程序系统设计任务分解成许多易于管理和处理的子任务,便于开发与维护。 尽管结构化程序设计方法具备诸多优点,但它本质上仍是一种面向过程的程序设计方法,将数据与处理数据的操作分离为相互独立的实体。当数据结构发生变化时,所有相关的处理过程都需要进行相应的调整,每一种...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值