[FEATURE] Add HA mechanism to CLI
- Dominant language
- Java
- Stars
- 3.2k
- Forks
- 935
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 298
Description
### Describe the feature
Currently, the CLI can specify the address of the service to connect to via the 'uri' parameter, otherwise http://localhost:8090 is used by default. We expect Gravitino to introduce HA mechanisms similar to Hive Metastore, When deploying multiple services, we expect to automatically connect to the currently available Gravitino server.
### Motivation
_No response_
### Describe the solution
Add a new parameter. for example:
```property
gravitino.server.webserver.uris = http://localhost:8090,http://localhost:8090
```
and Add a polling mechanism to the 'GravitinoClientBase' class to automatically select the currently available Gravitino service as the target.
### Additional context
_No response_
Contributor guide
Research direction
Start by tracing how the CLI's `uri` parameter is consumed and reading the `GravitinoClientBase` class, including its current default service address behavior. The work is done when multiple configured service URIs can be polled and the client automatically targets the currently available Gravitino server.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- cli, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 28/100