feat: add multi-node horizontal scaling foundations
NotificationBus for cross-node message delivery fan-out: - NotificationBus trait: publish(topic) + subscribe(topic) -> Notify - InMemoryNotificationBus: single-node default via tokio::sync::Notify - Designed for Redis pub/sub or NATS replacement in multi-node deploys - 3 async tests: publish wakes, timeout without publish, independent topics Health endpoint enhancements for load balancer awareness: - HealthResponse proto: add node_id, version, uptime_secs, storage_backend - ServerState: add node_id, start_time, storage_backend fields - Health handler returns full node identity for multi-node monitoring
This commit is contained in:
@@ -23,4 +23,12 @@ message HealthRequest {}
|
||||
|
||||
message HealthResponse {
|
||||
string status = 1;
|
||||
// Unique node identifier for multi-node deployments.
|
||||
string node_id = 2;
|
||||
// Server version string.
|
||||
string version = 3;
|
||||
// Uptime in seconds since process start.
|
||||
uint64 uptime_secs = 4;
|
||||
// Storage backend type (e.g. "sql", "file", "postgres").
|
||||
string storage_backend = 5;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user