DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
This page is auto-generated! Please do NOT edit it, all changes will be lost on next update
Contents
Apache Dubbo
GSoC 2025 - Service Discovery
Background and Goal
Service Discovery
- Well organized logs
- Actuator endpoints
- Tools
Relevant Skills
- Familiar with Java
- Familiar with Microservice architecture
Potential Mentors
- Jun Liu, Apache Dubbo PMC Chair, junliu@apache.org

- dev@dubbo.apache.org
GSoC 2025 - Add more traffic management rule support for Dubbo Proxyless Mesh
Background and Goal
The concept of[ Proxyless Mesh|https://istio.io/v1.15/blog/2021/proxyless-grpc/] was first introduced in this blog. Please read it to learn more concept details.
We have started the development of Dubbo Proxyss Mesh for a while, so that means you don't have to start the project from scratch, anyone who gets involved can start with a specific task at hand.
In this specific GSoC project, we need developers to mainly focus on implementing more traffic management features of Istio for Dubbo.
Relevant Skills
- Familiar with Java
- Familiar with Service Mesh, istio and Microservice architectures
- Familiar with Kubernetes
Potential Mentors
- Jun Liu, Apache Dubbo PMC Chair, junliu@apache.org

GSoC 2025 - Dubbo Admin traffic management feature
Background and Goal
Dubbo is an easy-to-use, high-performance microservice framework that provides both RPC and rich enterprise-level traffic management features.
The community has been working on the improvement of Dubbo's traffic management abilities, to make it support rich features like traffic spliting, canary release, a/b testing, circuit breaker, mocking, etc. The complete traffic management architecture in Dubbo consists of two major parts, Control Plane and Data Plane. In Dubbo, Control Plane refers to Dubbo Admin, with source code in apache/dubbo-kubernetes. Dubbo Data Plane is implemented by Dubbo sdk (Java, Go, etc)
The traffic management rules Dubbo ueses now is compatible with the rules in Istio. That means the rules generated by Dubbo Admin and sent to SDK is Istio compatible rules. In this project, we need developers to work mainly on Dubbo Admin to make sure it generates and sends those rules correctly.
Relevant Skills
- Familiar with Golang
- Familiar with Service Mesh, istio and Microservice architectures
- Familiar with Kubernetes
Potential Mentors
- Jun Liu, Apache Dubbo PMC Chair, junliu@apache.org

- dev@dubbo.apache.org
GSoC 2025 - Enhancing Dubbo Python Serialization
Background and Goal
Currently, Dubbo Python exposes a serialization function interface that requires users to implement their own serialization methods. For commonly used serialization formats such as JSON and Protobuf, users must manually configure them each time. To streamline this process, we aim to build a built-in serialization layer that provides support for these common serialization formats by default.
Goal
We recommend using Pydantic to achieve this. Therefore, we expect the implementation to:
1. an internal serialization layer based on Pydantic, with support for at least JSON and Protobuf.
2. Leverage Pydantic's additional features, including data validation and other useful functionalities.
Relevant Skills
1. Familiar with Python
2. Familiar with RPC
Potential Mentors
- Albumen Kevin, Apache Dubbo PMC, albumenj@apache.org
- dev@dubbo.apache.org
GSoC 2025 - Dubbo triple protocol for go language implementation
Background and Goal
Dubbo is an easy-to-use, high-performance microservice framework that provides both RPC and rich enterprise-level traffic management features.
- keep-alive
- connection management
- programming api
- error code
Relevant Skills
- Familiar with Golang
- Familiar with RPC
- Familiar HTTP/1/2/3 protocol
Potential Mentors
- Jun Liu, Apache Dubbo PMC Chair, junliu@apache.org

- dev@dubbo.apache.org
GSoC 2025 - Dubbo Gradle IDL Plugin
Background and Goal
In the API-First design paradigm, IDL (Interface Definition Language) and its corresponding generation tools have become essential. IDL files are the specifications for defining service interfaces, and generation tools can convert IDL files into executable code, thereby simplifying the development process and improving efficiency.
Currently, Apache Dubbo only provides a Maven IDL generation plugin, lacking a Gradle plugin. This brings inconvenience to developers using Gradle to build projects.
Necessity
- Unify Build Tools: Gradle is the preferred build tool for Android projects and many Java projects. Providing a Dubbo Gradle IDL plugin can maintain the consistency of build tools and reduce the cost for developers to switch between different build tools.
- Simplify Configuration: Gradle plugins can simplify the configuration and generation process of IDL files. Developers only need to add plugin dependencies and simple configurations in the `build.gradle` file to complete the generation of IDL files without manually executing complex commands.
- Integrate Development Process: Gradle plugins can be better integrated with IDEs (Integrated Development Environments). Developers can directly execute Gradle tasks in the IDE, thereby realizing the automatic generation of IDL files and improving development efficiency.
Implementation Plan
- Plugin Development: Develop a Gradle plugin that encapsulates the Dubbo IDL generation tool and provides a concise configuration interface.
- Configuration: In the `build.gradle` file, developers can configure parameters such as the path of the IDL file and the directory of the generated code.
- Task: The plugin provides a Gradle task for executing the generation of IDL files. Developers can execute the task through the command line or the IDE.
- Dependency Management: The plugin can automatically manage the dependencies of the Dubbo IDL generation tool, ensuring that developers do not need to manually download and configure it.
Expected Results
- Developers can use Gradle to build Dubbo projects and easily generate the code corresponding to the IDL.
- Simplify the configuration and generation process of IDL files, and improve development efficiency.
- Better integration with IDEs to achieve automatic generation of IDL files.
Potential Mentors
- Albumen Kevin, Apache Dubbo PMC, albumenj@apache.org
- dev@dubbo.apache.org
Seata
GSoC 2025 - Apache Seata(Incubating) Extend multi-raft cluster mode
Description
Synopsis
The current Apache Seata Server supports the Raft cluster mode, but the performance and throughput of the cluster are significantly limited due to the single leader in a single Raft group. Therefore, the goal is to extend Seata Server to support multi-raft capability.
Benefits to Community
Due to the characteristics of Raft, requests are processed on the leader node and the results are submitted to the followers through the Raft consensus protocol. As a result, a significant amount of computational load is placed on the leader node, while followers only need to receive the final computed result. This causes the CPU, memory, and other metrics of the leader to be much higher than those of the followers. Additionally, the throughput of a single leader is limited by the machine configuration of the highest-spec node in the cluster, making it difficult to balance the traffic effectively. Therefore, supporting multi-raft would make the load distribution more balanced across all nodes in the cluster, improving throughput and performance, while also reducing the waste of machine resources.
Deliverables
The expected delivery goal is to apply the multi-raft capability of the sofa-jraft component to Seata Server through detailed learning and practice
The step expected are the following:
- Learning and using the sofa-jraft component
- Understanding and practicing the transaction grouping capability in Seata
- Gaining a certain level of understanding of Seata's communication protocol
- Gaining a certain level of understanding of Seata's storage model, especially the Raft mode
- Ensuring compatibility between different versions
Useful links
Mentor
- Mentor: Jianbin Chen, Apache Seata(Incubating) PPMC Member jianbin@apache.org

- Mentor: Jianbin Chen, Apache Seata(Incubating) PPMC Member jianbin@apache.org
Kvrocks
[GSOC][Kvrocks] Improve the controller UI
Background
Apache Kvrocks is a distributed key-value NoSQL database that uses RocksDB as its storage engine and is compatible with Redis protocol.
In the past, basic Web UI capabilities have been provided for Apache Kvrocks Controller, including features such as cluster creation and migration. In the future, we aim to offer a better and more modern UI experience, also enhancing centralized visualization capabilities.
Objectives
The key objectives of the project include the following:
- Refactor the existing UI pages
- Enhance the visualization capabilities for cluster migration
- Provide a cluster Overview dashboard
Recommend Skills
- Familiar with next.js & tailwind
- Have a basic understanding of RESTFul
- Have an experience of Apache Kvrocks
Mentor: Hulk Lin, Apache Apache Kvrocks PMC, hulk@apache.org
Mailing List: dev@kvrocks.apache.org
Please leave comments if you want to be a mentor
Beam
Simplify management of Beam infrastructure, access control and permissions via Platform features
This project consists in a series of tasks that build a sort of 'infra platform' for Beam. Some tasks include:
- Automated cleaning of infrastructure: [Task]: Build a cleaner for assets in the GCP test environment #33644
- Implement Infra-as-code for Beam infrastructure
- Implement access permissions using IaC: [Task]: Build a cleaner for assets in the GCP test environment #33644
- Implement drift detection for IaC resources for Beam
- Implement 'best-practice' key management for Beam (i.e. force key rotation for service account keys, and store in secret manager secrets)
A quality proposal will include a series of features beyond the ones listed above. Some ideas:
- Detection of policy breakages, and nagging to fix
- Security detections based on cloud logging
- others?
Beam ML Vector DB/Feature Store integrations
Apache Beam's YAML DSL provides a powerful and declarative way to define data processing pipelines. In particular, many users want to use Beam for machine learning use cases like feature generation, embedding generation, and retrieval augmented generation (RAG). Today, however, Beam integrates with a relatively limited set of feature stores and vector DBs for these use cases. This project aims to build out a rich ecosystem of connectors to systems like Pinecone and Tecton to enable these ML use cases.
Beam YAML ML, Iceberg, and Kafka User Accessibility
Apache Beam's YAML DSL provides a powerful and declarative way to define data processing pipelines. However, its adoption for complex use cases like Machine Learning (ML) and Managed IO (specifically Apache Iceberg and Kafka) is hindered by a lack of comprehensive documentation and practical examples. This project aims to significantly improve the Beam YAML documentation and create illustrative examples focused on ML workflows and Iceberg/Kafka integration, making these advanced features more accessible to users.
Enhancing Apache Beam JupyterLab Sidepanel for JupyterLab 4.x and Improved UI/UX
The Apache Beam JupyterLab Sidepanel provides a valuable tool for interactive development and visualization of Apache Beam pipelines within the JupyterLab environment. This project aims to significantly enhance the sidepanel by achieving full compatibility with the latest JupyterLab 4.x release and implementing substantial UI/UX improvements. This will ensure seamless integration with modern JupyterLab workflows and provide a more intuitive and user-friendly experience for Apache Beam developers.