作者:Seata 社区

Part 1:欢迎大家报名 Apache Seata (incubating) 开源之夏 2024 课题

开源之夏 2024 学生报名期为 4 月 30 日 - 6 月 3 日,欢迎报名 Apache Seata(incubating) 2024 课题!在这里,您将有机会深入探讨分布式事务的理论和应用,并与来自不同背景的同学一起合作完成实践项目。我们期待着您的积极参与和贡献,共同推动分布式事务领域的发展。

欢迎报名 Apache Seata (incubating) 开源之夏_阿里云

Part 2:开源之夏 2024

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

参与学生通过远程线上协作方式,配有资深导师指导,参与到开源社区各组织项目开发中并收获奖金、礼品与证书。这些收获,不仅仅是未来毕业简历上浓墨重彩的一笔,更是迈向顶尖开发者的闪亮起点,可以说非常值得一试。 每个项目难度分为基础和进阶两档,对应学生结项奖金分别为税前人民币 8000 元和税前人民币 12000 元。

Part 3:Apache Seata(incubating)社区介绍

Apache Seata (incubating)是一款开源的分布式事务解决方案,GitHub 获得超过23K+ Starts 致力于在微服务架构下提供高性能和简单易用的分布式事务服务。在 Seata 开源之前,Seata 在阿里内部一直扮演着分布式数据一致性的中间件角色,几乎每笔交易都要使用 Seata,历经双 11 洪荒流量的洗礼,对业务进行了有力的技术支撑。

Part 4:Apache Seata(incubating) 社区开源之夏 2024 项目课题汇总

社区为开源之夏 2024 组委会推荐 4 项精选项目课题,您可以访问以下链接进行选报:

https://summer-ospp.ac.cn/org/orgdetail/064c15df-705c-483a-8fc8-02831370db14?lang=zh

请及时与各导师沟通并准备项目申请材料,并登录官方注册申报(以下课题顺序不分先后):

项目一:全链路支持 gRPC 协议

难度:进阶/Advanced

项目社区导师:陈健斌

导师联系邮箱:364176773@qq.com

项目简述:

HTTP/2 和 1.x 是标准通用协议,使用 HTTP 标准协议有助于 Seata 的多语言扩展性,使其不再成为阻塞点之一,并且通用的标准协议便于后期理解和维护,并且在云原生上兼容和扩展性更强。

云原生:兼容多协议后,以便与未来 Seata 与各种云原生组件的兼容,比如 envoy 的7层代理等可以得到很好的适配,并且可与各种云原生组件相互集成,迈向更加成熟健壮的云原生分布式事务标准。

安全性:目前 Seata 不支持 TLS,而使用 HTTP/2 可较好的支持 TLS 提高安全性。

协议收敛:目前 Seata 侧存在多种协议,如作用于 RPC 的私有协议,用于控制台API的 HTTP 协议,集群间选举的私有/gRPC 协议。当 Seata 支持多协议兼容时,可以很好的在一个端口上直接解析多种协议,无需区分多个端口,并且可统一鉴权方式,提升可维护性。

减少依赖:目前 Seata 的 HTTP 协议使用的是 SpringBoot web 内置的 tomcat,选举依赖了 Sofa-Jraft 中的 blot,当多协议兼容进行完成后,集群选举可切换为grpc,API 接口和事务 RPC 的调用及 Namingserver 与 server 通信皆可使用 grpc/http,也减少了相关依赖,更加轻量化。

项目链接: https://summer-ospp.ac.cn/org/prodetail/240640258?list=org&navpage=org

项目二:与 Kubernetes 进行集成增强 seata-ctl 的运维能力

难度:进阶/Advanced

项目社区导师:尹祥琨

导师联系邮箱:ptyin@apache.org

项目简述:

seata-ctl 是一个用于集群运维的命令行界面(CLI)工具,已具备事务模拟、配置管理和健康检查等功能。随着 Kubernetes 成为现代服务编排调度的事实标准平台,本项目计划通过与 Kubernetes API 进行集成,对 seata-ctl 进一步扩展。项目目标是将其打造成一个全面的 CLI 工具,可在 Kubernetes 上管理和观测 Seata Server,支持部署、扩缩容和可观测性。

项目链接: https://summer-ospp.ac.cn/org/prodetail/240640262?list=org&navpage=org

项目三:实现控制台 OpenAPI 和提升系统安全性

难度:进阶/Advanced

项目社区导师:季敏(清铭)

导师联系邮箱:jimin.jm@alibaba-inc.com

项目简述:

Apache Seata(incubating)是一个开源的分布式事务解决方案,旨在提供高性能和简单易用的分布式事务服务。随着微服务架构的普及,分布式事务管理变得越来越重要,尤其是在确保数据一致性和系统的准确性方面。

目前,Apache Seata 提供了一个功能丰富的控制台,用于事务管理和监控。然而,为了进一步增强其易用性和安全性,有必要开发控制台的读操作 OpenAPI 和事务控制 admin openAPI。

此外,API 的认证机制,以及 raft 集群节点间的认证和在首次创建 Seata-Server 集群时生成 jwt secret,都是提升系统安全性的关键措施。

项目链接: https://summer-ospp.ac.cn/org/prodetail/240640276?list=org&navpage=org

项目四:基于 Raft 和 RocksDB 实现配置中心

难度:进阶/Advanced

项目社区导师:吴江坷

导师联系邮箱:xingfudeshi@apache.org

项目简述:

目前 Seata 支持丰富的第三方配置中心,但是考虑使用的便捷性同时为了降低使用 Seata 的门槛,在 seata-server 利用现有的 sofa-jraft+rocksdb 构建一个配置中心功能,seata-client 直接与 seata-server 通信,获取 Seata 相关的配置,不需要再去第三方配置中心读取,实现配置中心自闭环。

核心提示:需要实现一个 config 的 raft group,还有对应的状态机和事件,去同步操作 rocksdb 的动作,保证多节点的 rocksdb 中数据一致。

项目链接: https://summer-ospp.ac.cn/org/prodetail/240640285?list=org&navpage=org

Part 5:如何参与开源之夏2024并快速选定项目?

欢迎通过上方联系方式,与各导师沟通并准备项目申请材料。

课题参与期间,学生可以在世界任何地方线上工作,Apache Seata(incubating) 相关项目结项需要在 9 月 30 日前以 PR 的形式提交到社区仓库中并完成合并,请务必尽早准备。

欢迎报名 Apache Seata (incubating) 开源之夏_阿里云_02

需要在课题期间第一时间获取导师及其他信息,可扫码或搜索群号进入钉钉交流群(群号:44440907)。了解 Apache Seata (incubating) 社区各领域项目、结识社区开源导师,以助力后续申请。

点击此处,查看 Apache Seata(incubating) 2024 开源之夏所有项目。