HAVE FUN | 源码解析活动进展

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 在第一篇源码解析活动文中,我们介绍了 SOFARegistry 源码解析的详细介绍与具体参与方法,错过的小伙伴可以点击回顾哦,活动还在进行中...

源码解析

在第一篇源码解析活动文中,我们介绍了 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

相关文章
|
8天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
28 2
|
8天前
|
存储 安全 Linux
Golang的GMP调度模型与源码解析
【11月更文挑战第11天】GMP 调度模型是 Go 语言运行时系统的核心部分,用于高效管理和调度大量协程(goroutine)。它通过少量的操作系统线程(M)和逻辑处理器(P)来调度大量的轻量级协程(G),从而实现高性能的并发处理。GMP 模型通过本地队列和全局队列来减少锁竞争,提高调度效率。在 Go 源码中,`runtime.h` 文件定义了关键数据结构,`schedule()` 和 `findrunnable()` 函数实现了核心调度逻辑。通过深入研究 GMP 模型,可以更好地理解 Go 语言的并发机制。
|
21天前
|
消息中间件 缓存 安全
Future与FutureTask源码解析,接口阻塞问题及解决方案
【11月更文挑战第5天】在Java开发中,多线程编程是提高系统并发性能和资源利用率的重要手段。然而,多线程编程也带来了诸如线程安全、死锁、接口阻塞等一系列复杂问题。本文将深度剖析多线程优化技巧、Future与FutureTask的源码、接口阻塞问题及解决方案,并通过具体业务场景和Java代码示例进行实战演示。
39 3
|
1月前
|
存储
让星星⭐月亮告诉你,HashMap的put方法源码解析及其中两种会触发扩容的场景(足够详尽,有问题欢迎指正~)
`HashMap`的`put`方法通过调用`putVal`实现,主要涉及两个场景下的扩容操作:1. 初始化时,链表数组的初始容量设为16,阈值设为12;2. 当存储的元素个数超过阈值时,链表数组的容量和阈值均翻倍。`putVal`方法处理键值对的插入,包括链表和红黑树的转换,确保高效的数据存取。
56 5
|
1月前
|
Java Spring
Spring底层架构源码解析(三)
Spring底层架构源码解析(三)
113 5
|
1月前
|
XML Java 数据格式
Spring底层架构源码解析(二)
Spring底层架构源码解析(二)
|
1月前
|
算法 Java 程序员
Map - TreeSet & TreeMap 源码解析
Map - TreeSet & TreeMap 源码解析
34 0
|
1月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
68 0
|
1月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
57 0
|
1月前
|
存储 Java C++
Collection-PriorityQueue源码解析
Collection-PriorityQueue源码解析
62 0

推荐镜像

更多