apache / apache/eventmesh

[Feature] Support JRaft service registration when automatic scaling up and down

Open
#5,009 0 comments 0 reactions 0 assignees View on GitHub
feature help wanted
Dominant language
Java
Stars
1.8k
Forks
658
Avg merge
11h 29m
Merged PRs (30d)
52

Description

### Search before asking

- [X] I had searched in the [issues](https://github.com/apache/eventmesh/issues?q=is%3Aissue) and found no similar issues.

### Feature Request

In the [current implementation](https://github.com/apache/eventmesh/pull/4862) of JRaft meta plugin, if a new node is added to the cluster, users need to add the new node to the `eventmesh.properties` of the existing nodes before it can be added to the cluster.

Hopefully you can implement `CliService` in a sebsequent PR to support service registration when automatic scaling up and down of the cluster. Because the complete list of online nodes of the cluster cannot be maintained in real time.

After it's implemented, the newly added node can connect to any online node in the cluster. If connected to a follower, the current leader will be returned to new node by the follower.

### Are you willing to submit PR?

- [ ] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) *

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the current JRaft meta plugin implementation in PR #4862 and how node addresses are configured in eventmesh.properties. Investigate the requested CliService behavior for joining nodes and leader forwarding during automatic scaling. Done means a newly added node can connect to any online node without updating every existing node's configuration, with scaling up and down handled consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.