SOFA Weekly | 开源新知、本周 QA、新手任务

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

 SOFA WEEKLY | 每周精选 

e0647bc45789184a1048b1774b8db897.png

筛选每周精华问答,同步开源进展

欢迎留言互动~

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

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

SOFAStack: https://github.com/sofastack

  开源新知  

  SOFAStack 社区本周 Contributor  

58256180e9e27f849d17172cdd264db6.png

  每周读者问答提炼  

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

我们会筛选重点问题通过 

" 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

   本周推荐阅读  

acd2095c1db93a88336822463a2d515e.png

HAVE FUN | Layotto 源码解析

16136afbecc52cc598da10e3f449a2ee.png

BabaSSL 发布 8.3.0|实现相应隐私计算的需求

Nydus 镜像加速插件迁入Containerd 旗下

586382e1983fa496c3269796e6f75f31.png

异构注册中心机制在中国工商银行的探索实践


71012ee8a466e72dc201ef374c63c822.png

SOFAArk Committer 专访|看它不爽,就直接动手改!

b0e82d4c97fd1995ccc1296f82c0e9a3.png

SOFABolt 是蚂蚁金融服务集团开发的一套基于 Netty 实现的网络通信框架。 为了让 Java 程序员能将更多的精力放在基于网络通信的业务逻辑实现上,而不是过多的纠结于网络底层 NIO 的实现以及处理难以调试的网络问题,Netty 应运而生。 为了让中间件开发者能将更多的精力放在产品功能特性实现上,而不是重复地一遍遍制造通信框架的轮子,SOFABolt 应运而生。 Bolt 名字取自迪士尼动画-闪电狗,是一个基于 Netty 最佳实践的轻量、易用、高性能、易扩展的通信框架。 这些年我们在微服务与消息中间件在网络通信上解决过很多问题,积累了很多经验,并持续的进行着优化和完善,我们希望能把总结出的解决方案沉淀到 SOFABolt 这个基础组件里,让更多的使用网络通信的场景能够统一受益。 目前该产品已经运用在了蚂蚁中间件的微服务 (SOFARPC)、消息中心、分布式事务、分布式开关、以及配置中心等众多产品上。 SOFABolt的基础功能包括: 1、基础通信功能 ( remoting-core ) 基于 Netty 高效的网络 IO 与线程模型运用 连接管理 (无锁建连,定时断链,自动重连) 基础通信模型 ( oneway,sync,future,callback ) 超时控制 批量解包与批量提交处理器 心跳与 IDLE 事件处理 2、协议框架 ( protocol-skeleton ) 命令与命令处理器 编解码处理器 心跳触发器 3、私有协议定制实现 - RPC 通信协议 ( protocol-implementation ) RPC 通信协议的设计 灵活的反序列化时机控制 请求处理超时 FailFast 机制 用户请求处理器 ( UserProcessor ) 双工通信
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值