Documentation Index
Fetch the complete documentation index at: https://docs.sx.bet/llms.txt
Use this file to discover all available pages before exploring further.
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.
