SOFA WEEKLY | 每周精选

筛选每周精华问答,同步开源进展
欢迎留言互动~
SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁集团自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,动态配置推送,分布式链路追踪,Metrics 监控度量,分布式高可用消息队列,分布式事务框架,分布式数据库代理层等组件,也是在金融场景里锤炼出来的最佳实践。
SOFAStack 官网: https://www.sofastack.tech
SOFAStack: https://github.com/sofastack
开源新知
SOFAStack 社区本周 Contributor

每周读者问答提炼
欢迎大家向公众号留言提问或在群里与我们互动
我们会筛选重点问题通过
" SOFA WEEKLY " 的形式回复
1. 毛晨斌 提问:
使用 Layotto 是不是客户端代码需要重新实现,全部调用 Layotto 提供的API?多少正式的项目正在使用 Layotto?
A:目前蚂蚁的落地用户将客户端 SDK,改成调用 Layotto;现在在搞无侵入方案。
开源版服务器端支持哪些中间件,客户端无侵入支持哪些中间件?
A:
1. 已经落地的方案
将各种中间件的 Java SDK,改成调用 Layotto (比如把 xxx-MQ-sdk 内部逻辑改成调layotto pubsub API,但是对业务代码暴露的接口不变)。业务系统需要升级下 SDK,业务代码不用改。这部分没开源,因为是改内部中间件的 SDK,这些中间件本身没开源。
2. 开源版服务器端支持那些中间件
每类 API 有支持的组件列表,https://mosn.io/layotto/#/zh/component_specs/sequencer/common。其中 state API、pubsub API 因为复用了 Dapr 的组件,所有 Dapr 组件都支持。https://docs.dapr.io/zh-hans/reference/components-reference/supported-state-stores/
3.客户端支持哪些
目前有 .net java go 的 Layotto SDK,有个 layotto-springboot 刚合并。SDK 在 https://github.com/layotto
4. 关于无侵入方案
后面想把协议转换的事情放到 Layotto 做,让用户接入 Layotto 时不用改客户端 SDK,不过方案还在讨论,最近会写个 proposal。
5.现在还没有现成的客户端无侵入 SDK,老系统接入 Layotto 需要改原来的 SDK。
「Layotto」:
https://github.com/mosn/layotto
2、黄润良 提问:
RPC 序列化 Localdatetime 有问题,改为 Date 类型后正常, 你知道原因吗?upstream 的 ip access 日志怎么打印来访日志呢,主要是负载均衡后访问到后段的哪个 IP?
A:你要在 errorlog 打印吗?你可以配置 accesslog,一个请求一条的。你的 tracelog 也可以打印的。https://github.com/mosn/mosn/blob/master/pkg/log/accesslog.go
[WARN][downStream]reset stream reason ConnectionTermination
[proxy][downstream]processError=downstreamReset proxyld:2204350,reason:ConnectionTermination
A:downstream 的连接断链了。比如你 curl 访问 MOSN,在 reponse 回复之前 Ctrl+C 终止断链接,MOSN 就会打印这个日志,也就是还没有回复请求,client 就断链了。 然后 client 自己有超时,可能就断链了。
「MOSN」:https://github.com/mosn
SOFAStack&MOSN:新手任务计划
作为技术同学,你是否有过“想参与某个开源项目的开发、但是不知道从何下手”的感觉?
为了帮助大家更好的参与开源项目,SOFAStack 和 MOSN 社区会定期发布适合新手的新手开发任务,帮助大家 learning by doing!
Layotto
- Easy
为 actuator 模块添加单元测试
为 Java SDK 新增分布式锁、分布式自增 ID API
开发 in-memory configuration 组件
- Medium
让 Layotto 支持 Dapr API
开发 Rust、C、Python、SDK
用 mysql、consul 或 leaf 等系统实现分布式自增 id API
- Hard
让 Layotto 支持通过接口调用的方式动态加载 wasm,以支持 FaaS 场景动态调度
「详细参考」:
https://github.com/mosn/layotto/issues/108#issuecomment-872779356
SOFARPC
- Easy
优化 SOFARPC 使用文档
- Medium
优化 SOFARPC 的异步编程体验
「详细参考」:
https://github.com/sofastack/sofa-rpc/issues/1127
本周推荐阅读
Nydus 镜像加速插件迁入Containerd 旗下
SOFAArk Committer 专访|看它不爽,就直接动手改!

SOFAStack与MOSN:开源进展与技术问答
SOFAStack是蚂蚁集团的金融级云原生架构,包含微服务、RPC框架等组件。本周精选问答涉及Layotto的使用与客户端SDK改造,以及MOSN的RPC序列化问题。同时,社区发布了新手任务,帮助开发者参与开源项目。此外,还分享了Layotto源码解析和BabaSSL的最新进展。




2万+

被折叠的 条评论
为什么被折叠?



