GSoC 学生大显身手!Apache DolphinScheduler OIDC 升级背后的内部故事

发布: (2025年12月4日 GMT+8 16:46)
4 min read
原文: Dev.to

Source: Dev.to

个人简介

印度英文

  • 姓名: Aryan Kumar
  • 地点: 印度昌迪加尔
  • 当前状态: 旁遮普工程学院冶金与材料工程(辅修数据科学)本科,预计2027年5月毕业。立志成为软件工程师,兴趣在 AI 与开源开发。积极寻找全职或实习的软体开发、全栈、DevOps 机会。
  • GitHub: tusaryan
  • LinkedIn: tusaryan
  • 联系方式: aryankumartus@gmail.com
  • 爱好: 园艺、游泳、足球、徒步、旅行以及持续学习。

面试记录

对 Apache DolphinScheduler 的贡献

问题: 您是否为 Apache DolphinScheduler 社区做出过贡献?能描述具体的方案吗?

回答: 是的,我很幸运做出了多项贡献,其中最重要的是我的 2025 年 Google Summer of Code 项目。

  • Kyuubi 数据源连接修复 (#17081) – 我在 DolphinScheduler 的首次开源贡献(2025 年 2 月)。通过纠正 JDBC URL 的构建并更新单元测试,修复了在使用 Kyuubi 的高可用环境中导致 JDBC 连接失败的 bug。

  • Master Server 负载保护 (#17159) – 实现了新的配置项 max.concurrent.workflow.instances,用于在故障转移场景下防止 Master Server 过载。重构了服务器保护机制,加入了 CPU、内存和磁盘使用阈值的监控。

  • 通用 OIDC 认证模块 (#17340, GSoC’25 项目) – 设计并实现了一个通用的 OpenID Connect(OIDC)认证系统。

    问题: DolphinScheduler 的单点登录(SSO)功能仅限于特定实现(例如 Casdoor),导致企业集成困难。

    解决方案: 使用 Nimbus SDK 开发了可扩展的 SSO 机制,支持任何符合 OIDC 标准的提供者(Keycloak、Okta、Azure AD 等)。新增了稳健的认证流程、令牌校验、CSRF 与注入防护,以及在每次登录时重新评估权限的动态角色同步。实现了全面的单元测试(约 94% 覆盖率)和 API 测试,以确保可靠性。

    影响: 提升了安全性,简化了用户管理,缩短了集成时间,并保持了对现有登录方式的向后兼容。

背景与首次接触 DolphinScheduler

问题: 您第一次了解 DolphinScheduler 是在什么背景下?有什么有趣的故事吗?

回答: 我一直对技术能够解决问题并在全球范围内连接人们感到着迷。中学时我第一次听说 Google Summer of Code(GSoC),随后在大学里进一步了解。凭借扎实的 Java 基础,我扩展了在 Spring Boot、微服务、安全和 DevOps 方面的技能。

当 GSoC 时间表公布时,我在寻找一个对分布式系统和安全性有高影响力的开源项目。在探索潜在项目时,我发现了 Apache DolphinScheduler。作为一名 Java 开发者,我熟悉许多 ASF 项目(HTTP Server、Tomcat、Kafka、Spark、Hadoop、Maven 等),因此为一个被广泛使用的工作流编排平台做贡献感觉非常契合。

在正式贡献之前,我仔细阅读了文档,以了解现有架构并找出可以增值的领域。这一准备工作帮助我提出了 OIDC 认证模块的方案,最终成为我的 GSoC 项目。

Back to Blog

相关文章

阅读更多 »

🌑 进入黑暗:Soulbound Codex

演示图片 https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2...