Sub-10ms intelligent routing with automatic failover
Click regions to include in your routing configuration
Choose how MESH routes your streams
General streaming, global audiences
Set up MESH routing with your selected options
import { WaveClient, MeshConfig } from '@wave/sdk';
const wave = new WaveClient({ apiKey: 'wave_live_xxxxx' });
// Configure MESH routing
const meshConfig: MeshConfig = {
routing: {
policy: 'geo-latency',
regions: ["us-east","eu-west","apac-east"],
priorityOrder: 'latency',
},
failover: {
enabled: true,
strategy: 'active-passive',
switchoverTime: 500,
healthCheckInterval: 5000,
healthThreshold: 0.9,
},
protocolTranslation: {
enabled: true,
source: 'auto',
targets: ['webrtc', 'srt', 'hls'],
},
};
const stream = await wave.streams.create({
title: 'Global Broadcast',
mesh: meshConfig,
});
stream.on('routing-decision', (event) => {
console.log(`Routed to ${event.region}`);
});Configure automatic recovery when regions experience issues
MESH automatically translates between protocols at the edge
| Source | Target Protocols | Added Latency | Quality |
|---|---|---|---|
| RTMP | WebRTC SRT HLS DASH | +5-10ms | Excellent |
| SRT | WebRTC RTMP HLS DASH | +3-5ms | Excellent |
| WebRTC | SRT RTMP HLS DASH | +2-4ms | Excellent |
| OMT | WebRTC SRT HLS | +1-2ms | Lossless |
| NDI | WebRTC SRT RTMP | +5-8ms | Near-lossless |
How enterprise customers use MESH routing
"MESH routing handled our peak traffic of 2.3M concurrent viewers across 40 countries with zero perceptible latency. The automatic failover kicked in twice during the finals - viewers didn't notice a thing."
"Sub-10ms latency for market data is non-negotiable. MESH delivers consistently while respecting our compliance requirements across EU and APAC regions."
"Our Easter and Christmas broadcasts reach 5M+ viewers globally. MESH automatically scales across 5 continents and handles the traffic spike flawlessly every time."
Track routing performance in real-time
// Real-time MESH monitoring
const meshMonitor = wave.mesh.createMonitor({
streamId: 'stream-123',
metrics: ['latency', 'routing', 'failover', 'capacity'],
interval: 1000,
});
meshMonitor.on('latency', (metrics) => {
console.log('Latency percentiles:', {
p50: metrics.p50,
p95: metrics.p95,
p99: metrics.p99,
});
});
meshMonitor.on('routing-decision', (event) => {
console.log(`Viewer ${event.viewerId} routed to ${event.region}`);
});
meshMonitor.on('failover', (event) => {
alert(`Failover: ${event.fromRegion} β ${event.toRegion}`);
});P50, P95, P99 percentiles with historical trends
Region distribution, decision logs, optimization suggestions
Region status, capacity utilization, failover history
Common issues, diagnostic commands, and solutions
Essential guidelines for production MESH deployments
How industry leaders use MESH for global delivery
βWAVE's MESH routing reduced our global event latency by 78%. The automatic failover handled two major outages during our re:Invent keynote without any viewer impact. Zero manual intervention required.β
Werner Vogels
CTO, Amazon Web Services
78% latency reduction
βAs infrastructure experts ourselves, we appreciate MESH's edge-first architecture. The protocol translation at 65+ PoPs means we can ingest any format and deliver optimally. Perfect for Birthday Week streams.β
Matthew Prince
CEO, Cloudflare
4.7ms average routing decision
βOur TwitchCon events need bulletproof streaming. MESH's active-active failover and sub-500ms switchover means we've achieved five 9s uptime for our biggest broadcasts. The cost optimization saved us $400K annually.β
Dan Clancy
CEO, Twitch
99.999% uptime achieved
Core endpoints for routing configuration and monitoring
| Method | Endpoint | Description | Auth |
|---|---|---|---|
GET | /v1/mesh/regions | List all available regions | API Key |
GET | /v1/mesh/regions/{id} | Get region details and health | API Key |
POST | /v1/streams | Create stream with MESH config | API Key |
PUT | /v1/streams/{id}/mesh | Update MESH routing config | API Key |
GET | /v1/streams/{id}/routing | Get current routing decisions | API Key |
POST | /v1/streams/{id}/failover/test | Test failover (dry run) | API Key |
POST | /v1/streams/{id}/failover/trigger | Force manual failover | API Key |
GET | /v1/mesh/latency | Get latency metrics by region | API Key |
GET | /v1/mesh/capacity | Get capacity utilization | API Key |
GET | /v1/analytics/routing | Routing analytics and decisions | API Key |