Skip to content

Open Source Promotion Plan Summer 2024 Tasks

Jason Song edited this page Apr 14, 2024 · 13 revisions

背景

开源软件供应链点亮计划致力于培养和发掘更多优秀的开发者,促进开源软件的发展和优秀开源软件社区建设。

Apollo 社区作为开源力量的一份子,积极响应并报名参加,希望通过该活动吸引学生群体参与 Apollo 开源社区建设,为社区持续发展培养新生力量,一起推进开源生态的发展。

任务列表

项目题目 项目描述 难度(基础/进阶) 导师 项目产出要求 项目技术要求 项目成果仓库 报名学生
为Apollo的java、golang客户端缓存支持Kubernetes ConfigMap Apollo配置中心是一个分布式配置中心,广泛应用于各种微服务架构中。本项目旨在扩展Apollo客户端的缓存机制,使其支持Kubernetes的ConfigMap,从而提升在Kubernetes集群环境下的配置管理可靠性和灵活性。 进阶 贺张俭 shoothzj@gmail.com 设计文档、功能代码和测试代码、使用文档 熟悉 Java 开发语言、熟悉 Golang开发语言、简单了解SpringBoot框架、熟悉或愿意了解Kubernetes https://github.com/apolloconfig/apollo-java
https://github.com/apolloconfig/agollo
为 Apollo 管理员工具添加全局搜 Value 的功能 本项目主要实现一个全局视角搜索 Value 的功能,用于管理员、SRE 角色快速、便捷的找到哪个资源(Redis、MySQL)在哪个项目里使用。 基础 陈凯玲 632104866@qq.com 设计文档、功能代码和测试代码、使用文档 熟悉 Java、JS、HTML、CSS 开发语言、熟悉 Spring Boot、前端 Angularjs 开发 https://github.com/apolloconfig/apollo
为apollo-client添加更多可观测性 项目描述

Apollo配置中心是一款可靠的分布式配置管理中心,广泛应用于各种微服务架构中。
其中apollo-client作为Java技术栈中微服务读取配置的客户端,
负责将配置从服务端的Config Service拉取到本地,并提供给Java程序使用。

然而在这个过程中,有时会碰到一些不符合预期的情况,
此时需要故障定位和故障解决,在这一系列的过程中,形成SOP,方便用户处理问题。

在故障定位上,apollo-client需要提供更多的可观测性,
我们需要尽可能多地收集日志、指标、链路,例如:

1. 观测配置是否生效,是否下发成功,内存中实际使用的配置是什么,以及它们何时初始化、何时下发成功
2. JVM 使用的实际使用的 app.id、apollo.cluster、apollo.meta 等初始化参数是什么?
3. 当前JVM使用了多少个命名空间,一个命名空间中有多少个配置项,每个命名空间是否404,是否timeout
4. 连接apollo.meta时网络是否正常?
5. 配置监听事件是否被触发,是否执行中,以及最近一次的耗时情况是多少等等。

然后通过JMX,micrometer,dropwizard metrics,prometheus或其它框架输出,并支持用户自定义。
进阶 王小权 anilopj7@gmail.com 1. 详细设计设计文档
2. 测试案例。
3. 功能代码。
4. 测试报告。集成apollo-client,模拟各种故障,然后测试新功能是否可用,并输出相关报告。
5. 面向用户的使用文档。
1. 熟悉 Java 开发语言
2. 需要写出鲁棒性高的代码
3. 对分布式有一定了解

本题目要求至少修改apollo-client,并保持兼容性,扩展性。
https://github.com/apolloconfig/apollo-java