Skip to content

Open Source Promotion Plan Summer 2024 (Chinese)

Qi Guo edited this page May 28, 2024 · 10 revisions

开源之夏 2024 活动简介

开源之夏(全称:开源软件供应链点亮计划——暑期 2024)是由中国科学院软件研究所“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。

开源之夏联合国内外开源社区,针对重要开源软件的开发与维护提供项目任务,面向全球高校学生开放报名,中选学生将在项目资深开发者(项目导师)的指导下,参与开源贡献,完成开发工作并贡献给开源社区。

Apache APISIX 简介

Apache APISIX 是一个动态、实时、高性能的开源 API 网关,提供负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。Apache APISIX 基于 NGINX 和 LuaJIT 构建,具有超高性能,单核 QPS 高达 23000,平均延迟仅为 0.2 毫秒。它不仅能解决传统架构中的一些问题,同时更适应了云原生时代的需求。

作为 API 网关,Apache APISIX 的应用场景非常广泛,可应用于网关、Kubernetes Ingress 和服务网格等场景,可以帮助企业快速、安全地处理 API 和微服务流量。目前已获得 Zoom、Airwallex、Lotus Cars、vivo、欧洲数字工厂等全球企业和组织的测试和高度认可。

今年,Apache APISIX 社区向开源之夏 2024 组委会推荐了多项精选项目课题,现已上线,欢迎同学们积极报名申请!

申请建议

  • 仔细阅读学生指南

  • 多与导师沟通:每个项目都附有导师的联系方式,建议报名后通过邮件先与导师取得联系。

  • 充分了解活动: 认真阅读各类指南、活动日程等内容。

  • 仔细查看社区的文档:认真熟悉社区的参与方式、沟通渠道、社区软件设计文档和社区开源仓库代码等。

  • 项目申请书的质量是被选中的主要因素:仔细阅读申请要求,提交申请材料。

微信群

请添加 APISIX 微信号(apisix)或扫描下方二维码添加工作人员申请入群。

APISIX WeChat

社区项目一览

1. 集成 AWS 和 GCP 的 Secrets Manager

项目描述:众多企业都在使用 AWS 和 GCP 的云服务,并且依赖于这些平台提供的 secret manager 来管理敏感信息。将 Apache APISIX 与这些 secret manager 集成,可以简化用户在 APISIX 中使用敏感信息的流程,让用户更加便捷地管理和使用存储在云端的敏感信息,提高整体系统的安全性和易用性。

在这个项目中,需要对 AWS 和 GCP 的功能非常了解。其中最大的难点在于测试,因为 APISIX 使用的是比较少见的 Test::Nginx 框架。另外,还需要参考已有的文档和测试用例,通过类比的方式进行测试。目前可以借助例如 KMS 的工具模拟 AWS 的仓库,需要探索 GCP 是否有相关的工具。

因而在实现过程中需要克服多个技术难题,包括对 AWS 和 GCP 的适配性问题以及测试框架的限制等。

难度:进阶

导师:白泽平

联系方式bzp2010@apache.org

技术领域标签:Cloud Native

编程语言标签:Lua

项目仓库https://github.com/apache/apisix

项目产出要求

  • 为 APISIX Secret Management 模块添加 AWS Key Management Service 服务实现

  • 为 APISIX Secret Management 模块添加 GCP Secret Manager 服务实现

项目技术要求

  • 熟悉 AWS/GCP 相关服务概念及使用方式

  • 熟悉 GitHub 及开源项目协作流程

  • 了解 API 网关和 APISIX 工作方式;了解 Lua 编程基础(编码/依赖管理等)

  • 英文文档阅读 & 基础英文写作(文档方面)

2. 重构 APISIX Dashboard 以兼容最新版 Apache APISIX

项目描述:APISIX Dashboard 作为 Apache APISIX 的核心组件,在用户操作中扮演着关键角色。本项目的目标是对 APISIX Dashboard 进行重构,以确保其与 APISIX 的最新版本紧密集成,实现无缝管理体验。这一重构挑战着眼于移除原有的 Manager API,取而代之与 APISIX 的 Admin API 对接,随后配置和部署带有 Admin API 的 APISIX,供 APISIX Dashboard 对接。

在此过程中,涉及到对 APISIX 的 Route、Upstream、Service、Consumer、Plugin、SSL 等关键模块的深入修改和优化。这需要对 APISIX 底层逻辑和概念有着透彻的理解,并且需要高度专业的技能和经验来应对可能出现的挑战。

难度:进阶

导师:孙毅

联系方式sunyi@apache.org

技术领域标签:Cloud Native

编程语言标签:Go, Typescript

项目仓库https://github.com/apache/apisix

项目产出要求:将 APISIX Dashboard 适配到 APISIX 最新版本(v3.9)

项目技术要求

  • 熟练使用 Git 协作,最好参与过开源项目,提交过 PR

  • 熟悉 React 框架及相关工具链,使用 Antd 框架做过项目

  • 熟悉集成测试流程,熟悉使用 Cypress 测试框架

  • 掌握服务端语言,Go 优先

3. APISIX Ingress Controller 支持 Gateway API 到 GA 状态

项目描述:Gateway API 是一个新的 Kubernetes API,用于配置和管理网络边界的入口(如 Ingress、LoadBalancer 等)。与传统的 Ingress Controller 不同,Gateway API 提供了更灵活、更强大的方式来定义和管理应用程序的网络入口。APISIX ingress controller 实现了对 Gateway API 的部分支持,状态是 beta,需要在这个项目中做更完善的支持,达到 GA 的状态。

难度:进阶

导师:Ashish Tiwari

联系方式ashishtiwari@apache.org

技术领域标签:Kubernetes,Cloud Native

编程语言标签:Go

项目仓库https://github.com/apache/apisix-ingress-controller

项目产出要求:APISIX Ingress Controller 对 Gateway API 的支持达到 GA 状态

项目技术要求

  • 对 API 网关和 k8s 有基本的了解

  • 熟悉 GitHub 协作,顺畅的英文沟通