βš–οΈRPC Load Balancer

Complete guide for optimizing RPC reliability and performance with automatic failover.

Overview

The RPC Load Balancer distributes blockchain requests across multiple RPC endpoints, providing:

  • πŸ”„ Automatic Failover: Switch to backup RPCs when primary fails

  • ⚑ Load Distribution: Balance requests across multiple providers

  • πŸ₯ Health Monitoring: Automatic health checks for all endpoints

  • πŸ“Š Multiple Strategies: Round-robin, fastest, or random selection

  • πŸ›‘οΈ Reliability: Improved uptime and reduced downtime

Installation

The RPC Load Balancer is included in the main package:

npm install somnia-agent-kit

Initialize Load Balancer

import { RPCLoadBalancer } from 'somnia-agent-kit';

// Create load balancer with multiple RPC endpoints
const balancer = new RPCLoadBalancer({
  urls: [
    'https://dream-rpc.somnia.network/',
    'https://backup-rpc.somnia.network/', // If available
    'https://rpc3.somnia.network/',
  ],
  strategy: 'round-robin', // Load balancing strategy
  timeout: 10000,           // Request timeout (10 seconds)
  retries: 3,               // Retry failed requests
  enableHealthCheck: true,  // Enable automatic health checks
  healthCheckInterval: 60000, // Health check every 60 seconds
});

// Get a provider instance
const provider = await balancer.getProvider();

// Use provider for blockchain calls
const blockNumber = await provider.getBlockNumber();
console.log('Current block:', blockNumber);

Load Balancing Strategies

1. Round-Robin (Default)

Distributes requests evenly across all healthy providers.

Best for: Balanced load distribution, predictable behavior

2. Fastest

Selects the provider with the lowest latency.

Best for: Performance-critical applications, low latency requirements

3. Random

Randomly selects a healthy provider for each request.

Best for: Simple load distribution, avoiding patterns

Health Monitoring

Enable Health Checks

Get Provider Status

Manual Health Check

Integration with SDK

Use Load Balancer with SomniaAgentKit

Complete Example: High Availability Setup

Automatic Failover

How Failover Works

Retry Configuration

Performance Optimization

Fastest Strategy with Caching

Reduce Health Check Overhead

Monitoring & Debugging

Log Provider Performance

Custom Health Check Logic

Best Practices

1. Use Multiple RPC Endpoints

2. Choose Appropriate Strategy

3. Enable Health Checks in Production

4. Set Reasonable Timeouts

5. Monitor Provider Health

6. Clean Up Resources

Configuration Options

Complete Configuration

Error Handling

Handle No Healthy Providers

Retry with Exponential Backoff

See Also

Last updated