HAVE FUN | 源码解析活动进展

原创
2022/03/16 18:25
阅读数 55

源码解析

在第一篇源码解析活动文中,我们介绍了 SOFARegistry 源码解析的详细介绍与具体参与方法,错过的小伙伴可以点击回顾哦,活动还在进行中...

活动发布后的一周时间,我们收到了很多来自社区小伙伴们的建议和反馈,今天在这里和大家分享一下。

活动进展

先来看看这一周的活动进展吧。

本次 SOFARegistry 源码解析任务共计发布 9 个。

截至 3 月 16 日,源码解析任务仅剩 2 个任务未被认领,剩余任务均在进行中,感谢大家的贡献!👏

各难度的源码解析任务完成度如下,我们通过这几个 issue 来追踪任务的完成进展,欢迎大家去认领还未被领走的源码解析任务哦。

待认领任务

通讯数据压缩: https://github.com/sofastack/sofaregistry/issues/200

无损运维:https://github.com/sofastack/sofa-registry/issues/198

「项目介绍💁🏻‍♂️」

SOFARegistry 是蚂蚁集团开源的一个生产级、高时效、高可用的服务注册中心。SOFARegistry 最早源自于淘宝的 ConfigServer。十年来,随着蚂蚁集团的业务发展,注册中心架构已经演进至第五代。

目前 SOFARegistry 不仅全面服务于蚂蚁集团的自有业务,还随着蚂蚁金融科技服务众多合作伙伴,同时也兼容开源生态。SOFARegistry 采用 AP 架构,支持秒级时效性推送,同时采用分层架构支持无限水平扩展。

「未来计划📄」

继 SOFARegistry 源码解析任务发布以来,大家反响热烈,都在问自己关心的 SOFAStack 系列的其他项目组件什么时候发布源码解析计划。

「下期活动预告🪧」

Layotto 和 SOFAArk 源码解析任务正在筹备中,预计不久后会和大家见面,小伙伴们敬请期待吧。

在任务发布前先给大家简单介绍一下两个项目及 Contributor 养成任务,大家可以先了解一下,方便后续可以更快的参与到源码解析任务中。

Layotto

Layotto(/leɪˈɒtəʊ/) 是一款使用 Golang 开发的应用运行时, 旨在帮助开发人员快速构建云原生应用,帮助应用和基础设施解耦。它为应用提供了各种分布式能力,比如状态管理,配置管理,事件发布订阅等能力,以简化应用的开发。

Layotto 以开源的 MOSN 为底座,在提供分布式能力以外,提供了 Service Mesh 对于流量的管控能力。

项目主页:

https://mosn.io/layotto

GitHub 地址:

https://github.com/mosn/layotto

Contributor 养成任务:

Layotto

Easy
  • 为actuator模块添加单元测试
  • 为java sdk新增分布式锁 API
  • 开发in-memory configuration 组件
Medium​
  • 让 Layotto 兼容 Dapr API

  • 升级由 rust 开发的 wasm demo

  • 用 mysql、consul或leaf等系统实现分布式自增id API

Hard​
  • 让 Layotto 支持通过接口调用的方式动态加载 wasm,以支持 FaaS 场景动态调度

「详细参考」:

https://github.com/mosn/layotto/issues/108#issuecomment-872779356

SOFAArk

SOFAArk 是一款基于 Java 实现的轻量级类隔离容器,主要提供类隔离和应用(模块)合并部署能力。

在大型软件开发过程中,通常会推荐底层功能插件化,业务功能模块化的开发模式,以期达到低耦合、高内聚、功能复用的优点。基于此,SOFAArk 提供了一套较为规范化的插件化、模块化的开发方案,产品能力主要包括:

  • 定义类加载模型,运行时底层插件、业务应用(模块)之间均相互隔离,单一插件和应用(模块)由不同的 ClassLoader 加载,可以有效避免相互之间的包冲突,提升插件和模块功能复用能力;
  • 定义插件开发规范,提供 maven 打包工具,简单快速将多个二方包打包成插件(Ark Plugin,以下简称 Plugin)
  • 定义模块开发规范,提供 maven 打包工具,简单快速将应用打包成模块 (Ark Biz,以下简称 Biz)
  • 针对 Plugin、Biz 提供标准的编程界面,包括服务、事件、扩展点等机制
  • 支持多 Biz 的合并部署,开发阶段将多个 Biz 打包成可执行 Fat Jar,或者运行时使用 API 或配置中心(Zookeeper)动态地安装卸载 Biz
  • 基于以上能力,SOFAArk 可以帮助解决依赖包冲突、多应用(模块)合并部署等场景问题。

项目主页:

https://www.sofastack.tech/projects/sofa-boot/sofa-ark-readme/

GitHub 地址:

https://github.com/sofastack/sofa-ark

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部