PRODСуверенная европейская платформа BaaSОткрыть панель управления →
REALTIME · NATIVE SYNC

Синхронизация, присутствие,
транслировать.

Auto-negotiated WebSocket, SSE, and NATS. Presence, replay, guaranteed ordering, explicit backpressure. 1M connections per POP, sub-15ms p99 fanout.

14ms
P99 FANOUT
1M
CNX/POP
3
TRANSPORTS
app/dashboard/live.tsxTYPESCRIPT
const channel = aura.channel('sensors:live')
channel
.on('postgres_changes', {
event: 'INSERT',
schema: 'public',
table: 'sensors',
filter: 'tenant_id=eq.${tid}',
}, ({ new: row }) => render(row))
.subscribe()
// Auto-negotiates WebSocket → SSE → NATS based on network
#
Набор функций

От примитивной синхронизации к мультиплееру в реальном времени

3 auto-negotiated transports

WebSocket first, then SSE, then server-side NATS. The client selects the optimal protocol based on network conditions.

WS · SSE · NATS

Presence API

Who is currently in the room, custom state, join/leave events. Consistent hashing for cross-region state reconciliation.

< 20ms SYNC

Multiplex N channels

Open 1,000 channels over a single TCP connection. Atomic subscribe/unsubscribe with zero extra connection overhead.

N CHANNELS · 1 TCP

Backpressure & ordering

Guaranteed ordering per channel, configurable client buffer, explicit drop policy. No silent duplications.

EXACTLY-ONCE PER-KEY

Event replay

Replays the last N events upon reconnection. Configured per channel, default retention of 100 messages or 60 seconds.

REPLAY WINDOW · 60s

Collab cursors

Native collaborative cursor primitives for multi-user apps. Server-side adaptive throttling, client-side interpolation.

60 FPS · THROTTLED
#
Прямая трансляция

Проверка производственного потока в режиме реального времени

Предварительный просмотр анонимного производственного потока. Каждое событие дедуплицируется и упорядочивается по каждому каналу, распространяясь по всем активным подписчикам менее чем за 15 мс.

ПОТОК · eu-west-3 ·channel_id = LIVE_SAMPLE
ЖИТЬРАЗВЕТВЕНИЕ · 9 мсКЛИЕНТЫ · 12 418
14:32:08.412INSERTsensors:live·{ device_id: "dvc_9f2a", temp: 24.7 }
14:32:08.510PRESENCEdoc:42·user_j8k joined · cursor@(340, 120)
14:32:09.001UPDATEorders:live·{ id: "ord_77c", status: "shipped" }
14:32:09.188BROADCASTchat:general·{ event: "typing", user: "ci_42" }
14:32:09.440INSERTsensors:live·{ device_id: "dvc_4a1", temp: 23.9 }
14:32:09.702PRESENCEdoc:42·user_n3e left
14:32:10.020DELETEsessions:live·{ session_id: "sess_0x4" }
14:32:10.155BROADCASTgame:room-8·{ event: "move", coords: [12, 44] }
#
Производительность

Проверенные тесты, никакой маркетинговой ерунды

14ms
P99 FANOUT
Median 6ms — 1M concurrent clients, 12 active regions
1M
CONNECTIONS / POP
Per point of presence, standard edition
256KB
MAX MSG
Per message — automatic chunking beyond
#
Сравнение

Аурабаза · Супабаза · Абли

ОсобенностьАурабазаСупабазаумело
TransportsWS · SSE · NATSWS onlyWS · Binary
Native presenceIncludedIncludedIncluded
Postgres CDCIncludedIncludedNo
Event replayConfigurableNoYes (Ably)
MultiplexingUnlimited100 channels200 channels
BillingConnection × minConnection × hrMessage × event
Open sourceApache 2.0MITProprietary
#
Часто задаваемые вопросы

Часто задаваемые вопросы

What is the difference between WebSocket, SSE, and NATS?+
WebSocket является двунаправленным и является нашим транспортом по умолчанию. SSE — это однонаправленный обмен данными между сервером и клиентом (полезно при использовании ограничительных корпоративных прокси). NATS — это межсервисный транспорт внутри нашей инфраструктуры. В Aurabase VPC вы можете подключить своего работника напрямую к NATS, чтобы обеспечить задержку между процессами в доли миллисекунды.
Are messages guaranteed exactly-once?+
Ровно один раз для каждого ключа в канале (упорядочение и дедупликация через message_id на стороне сервера). Межканальное взаимодействие осуществляется хотя бы один раз — SDK предоставляет увиденные_иды при необходимости выполнить дедупликацию на стороне клиента.
How do you scale beyond 1M concurrent connections?+
Добавьте POP. Каждая точка доступа принимает 1 млн подключений. Состояние присутствия разделяется с помощью последовательного хеширования и реплицируется в 3 копии.
Can we filter Postgres CDC changes server-side?+
Да. filter: 'tenant_id=eq.$1' оценивается на стороне сервера по сравнению с WAL, поэтому клиенты получают только те изменения, которые их касаются. Политики Postgres RLS также применяются к событиям в реальном времени.
What about offline mode?+
SDK поддерживает локальный буфер (IndexedDB/AsyncStorage) и воспроизводит намерения при повторном подключении. Конфликты разрешаются с помощью дополнительных векторных тактовых импульсов или настраиваемых результатов последней записи для каждого канала.
What is the real pricing model?+
Бесплатный план: 100 одновременных подключений × 1 час в день. План Pro: 100 тыс. подключений × общее количество часов подключения в месяц по цене 0,015 евро за 1 тыс. часов подключения. На уровне Pro нет оплаты за каждое сообщение.
РЕАЛЬНОЕ ВРЕМЯ ВКЛЮЧЕНО ПО УМОЛЧАНИЮ

Откройте канал и слушайте производство в прямом эфире.

Требуется нулевая настройка. Один канал, три строки кода, живая панель управления.

Кредитная карта не требуется · 500 МБ бесплатно · 50 000 MAU