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