canonical / canonical/microceph
RFE: support mult. rgw frontends per node
- Dominant language
- Go
- Stars
- 396
- Forks
- 74
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 7
Description
### Problem
On high core-count nodes, a single RGW daemon doesn;t always scale throughput linearly. In throughput testing we see per-daemon contention / limited core utilisation. Running multiple RGW daemons per physical node is a common way to scale RGW capacity, but MicroCeph currently doesnt support his
### Proposal
Add support to run N RGW daemons per node, each with its own frontend bind address/port.
* Each instance binds to a unique port (e.g. base port + index).
* Provide a predictable naming scheme for daemons (e.g. `rgw..`).
* TLS material should be shared across RGW daemons
### UI / frontend ideas
Could req. the user run `microceph enable rgw` mult. times with distinct ports, or provide a `microceph enable rgw --num N` flag where N daemons would be spawned with ports starting from a base port
Contributor guide
Research direction
No files, tests, or entry points are named. Start by locating the RGW enable path and how daemon ports, names, and TLS material are represented; done means multiple RGW daemons can run per node with unique predictable ports and shared TLS material.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100