This page is only relevant if you are currently using the legacy Ably WebSocket API. If you are starting a new integration, use the Centrifugo-based API directly.
| Ably (old) | Centrifugo (new) | |
|---|---|---|
| Channels per connection | 200 | 512 |
| Throughput per channel | 200 msg/sec (enforced) | No artificial cap |
| Delivery guarantee | Partial — time-based rewind only | Exact — message IDs + server-side history |
| Gap recovery | Time-window rewind (imprecise, risk of gaps or duplicates) | Precise history replay from last message ID (5-min window) |
| Latency | Baseline | 16–127 ms lower end-to-end latency across channels |
Channel capacity
Ably: 200 channels per connection required clients to shard subscriptions across multiple connections. Centrifugo: 512 channels per connection. A single connection handles all subscriptions without sharding.Throughput rate limits
Ably: Ably enforced a 200 msg/sec rate limit per channel server-side. On active markets this limit was regularly hit, causing messages to be dropped silently on the client. To work around this, channel design was constrained to targeted, per-market subscriptions rather than broader firehose patterns — trading flexibility for staying under the cap. Centrifugo: No per-channel throughput ceiling. Capacity is bounded by infrastructure, not an enforced message rate limit.Delivery guarantees
Ably: The rewind parameter replayed the last N seconds of channel history to bridge the REST-to-subscribe gap. Without message IDs, delivery was imprecise — no guarantee against gaps or duplicates, and no way to verify completeness. Centrifugo: Centrifugo assigns a message ID to every publication and maintains server-side history per channel. The snapshot + subscribe pattern uses this to eliminate the REST-to-subscribe race condition.Gap recovery
Ably: Reconnects relied on the same time-based rewind, with the same precision problem — no guarantee of exactly-once delivery across the reconnect boundary. Centrifugo: Centrifugo replays missed messages automatically from server-side history within a 5-minute recovery window.Latency
Measured end-to-end across production channels, Centrifugo delivers messages significantly faster:| Channel | Latency improvement |
|---|---|
main_line | ~127 ms |
best_odds | ~120 ms |
order_book | ~100 ms |
markets | ~104 ms |
recent_trades_consolidated | ~26 ms |
fixture_live_scores | ~23 ms |
recent_trades | ~21 ms |
fixtures | ~19 ms |
activity_feed | ~16 ms |
Migration Guide →
Steps required to move from Ably to Centrifugo.
