unified-storage: setup ring to shard requests (#103783)

* Updates the instrumentation_server service to use mux instead of the builtin router, and have it store the router in the module server: this is so we can register the /ring endpoint to check the status of the ring
* Create a new Ring service that depends on the instrumentation server and declares it as a dependency for the storage server
* Create standalone MemberlistKV service for Ring service to use
* Update the storage server Search and GetStats handler to distribute requests if applicable
This commit is contained in:
Will Assis
2025-04-25 13:08:44 -04:00
committed by GitHub
parent ff7b923d33
commit 4adebd6058
19 changed files with 654 additions and 25 deletions
+4 -1
View File
@@ -5,7 +5,9 @@ const (
All string = "all"
Core string = "core"
MemberlistKV string = "memberlistkv"
GrafanaAPIServer string = "grafana-apiserver"
StorageRing string = "storage-ring"
StorageServer string = "storage-server"
ZanzanaServer string = "zanzana-server"
InstrumentationServer string = "instrumentation-server"
@@ -13,8 +15,9 @@ const (
)
var dependencyMap = map[string][]string{
StorageRing: {InstrumentationServer, MemberlistKV},
GrafanaAPIServer: {InstrumentationServer},
StorageServer: {InstrumentationServer},
StorageServer: {InstrumentationServer, StorageRing},
ZanzanaServer: {InstrumentationServer},
Core: {},
All: {Core},