Joystream / Joystream/joystream

colossus: support specifying multiple endpoints in operator metadata

Open
#4,982 0 comments 0 reactions 0 assignees View on GitHub
colossus
Dominant language
Rust
Stars
1.4k
Forks
116
PR merge metrics
No merged PRs in 30d

Description

It is currently possible to run multiple instances of a storage-node in ready-only mode (Only makes sense when all instances have access to the shared storage). This supports horizontal scaling and improves availability, however the operator currently only publishes a single endpoint for their node+bucket., This implies the operator must

- run the nodes needs to on same host, or
- run the nodes behind a reverse proxy (still single point of failure)
- use DNS round robin to distribute traffic (not very flexible).

An additional approach would be to allow multiple endpoint to be specified in the protobuf message used to update the opreator metadata. The operator may also want to provide separate endpoint for POST request to upload objects (ie. writing into the storage) from the endpoint used to serve content (ie. reading from storage).

This change would impact the proto message, storage node operator command, query-node schema and mappings.
We would have to update distributor node to be aware of multiple endpoint for a storage node in new schema.
We would have to update atlas/ypp as well to recognize multiple endpoints.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.