βοΈRPC Load Balancer
Overview
Installation
npm install somnia-agent-kitInitialize 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)
2. Fastest
3. Random
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

