feat: Implement dynamic weighted RPC load balancing for enhanced resilience by DaMandal0rian · Pull Request #6128 · graphprotocol/graph-node
added 2 commits
August 24, 2025 20:28…lience This commit introduces dynamic weight adjustment for RPC providers, improving failover and resilience by adapting to real-time provider health. Key changes include: - Introduced a `Health` module (`chain/ethereum/src/health.rs`) to monitor RPC provider latency, error rates, and consecutive failures. - Integrated health metrics into the RPC provider selection logic in `chain/ethereum/src/network.rs`. - Dynamically adjusts provider weights based on their health scores, ensuring traffic is steered away from underperforming endpoints. - Updated `node/src/network_setup.rs` to initialize and manage health checkers for Ethereum RPC adapters. - Added `tokio` dependency to `chain/ethereum/Cargo.toml` and `node/Cargo.toml` for asynchronous health checks. - Refactored test cases in `chain/ethereum/src/network.rs` to accommodate dynamic weighting. This enhancement builds upon the existing static weighted RPC steering, allowing for more adaptive and robust RPC management. Fixes #6126
DaMandal0rian added a commit that referenced this pull request
Jan 31, 2026…lience (#6128) * feat: Implement dynamic weighted RPC load balancing for enhanced resilience This commit introduces dynamic weight adjustment for RPC providers, improving failover and resilience by adapting to real-time provider health. Key changes include: - Introduced a `Health` module (`chain/ethereum/src/health.rs`) to monitor RPC provider latency, error rates, and consecutive failures. - Integrated health metrics into the RPC provider selection logic in `chain/ethereum/src/network.rs`. - Dynamically adjusts provider weights based on their health scores, ensuring traffic is steered away from underperforming endpoints. - Updated `node/src/network_setup.rs` to initialize and manage health checkers for Ethereum RPC adapters. - Added `tokio` dependency to `chain/ethereum/Cargo.toml` and `node/Cargo.toml` for asynchronous health checks. - Refactored test cases in `chain/ethereum/src/network.rs` to accommodate dynamic weighting. This enhancement builds upon the existing static weighted RPC steering, allowing for more adaptive and robust RPC management. Fixes #6126 * bump: tokio
DaMandal0rian added a commit that referenced this pull request
Feb 25, 2026…lience (#6128) * feat: Implement dynamic weighted RPC load balancing for enhanced resilience This commit introduces dynamic weight adjustment for RPC providers, improving failover and resilience by adapting to real-time provider health. Key changes include: - Introduced a `Health` module (`chain/ethereum/src/health.rs`) to monitor RPC provider latency, error rates, and consecutive failures. - Integrated health metrics into the RPC provider selection logic in `chain/ethereum/src/network.rs`. - Dynamically adjusts provider weights based on their health scores, ensuring traffic is steered away from underperforming endpoints. - Updated `node/src/network_setup.rs` to initialize and manage health checkers for Ethereum RPC adapters. - Added `tokio` dependency to `chain/ethereum/Cargo.toml` and `node/Cargo.toml` for asynchronous health checks. - Refactored test cases in `chain/ethereum/src/network.rs` to accommodate dynamic weighting. This enhancement builds upon the existing static weighted RPC steering, allowing for more adaptive and robust RPC management. Fixes #6126 * bump: tokio
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters