동기화, 현재 상태,
방송.
Auto-negotiated WebSocket, SSE, and NATS. Presence, replay, guaranteed ordering, explicit backpressure. 1M connections per POP, sub-15ms p99 fanout.
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.
Presence API
Who is currently in the room, custom state, join/leave events. Consistent hashing for cross-region state reconciliation.
Multiplex N channels
Open 1,000 channels over a single TCP connection. Atomic subscribe/unsubscribe with zero extra connection overhead.
Backpressure & ordering
Guaranteed ordering per channel, configurable client buffer, explicit drop policy. No silent duplications.
Event replay
Replays the last N events upon reconnection. Configured per channel, default retention of 100 messages or 60 seconds.
Collab cursors
Native collaborative cursor primitives for multi-user apps. Server-side adaptive throttling, client-side interpolation.
실시간 생산 흐름 검사
익명화된 생산 스트림 미리보기. 모든 이벤트는 중복 제거되고 채널별로 정렬되어 15ms 이내에 모든 활성 구독자에게 전파됩니다.
검증된 벤치마크, 마케팅 허세 없음
아우라베이스 · 수파베이스 · 에이블리
자주 묻는 질문
What is the difference between WebSocket, SSE, and NATS?+
Are messages guaranteed exactly-once?+
본_ID 필요한 경우 클라이언트 측에서 중복을 제거합니다.How do you scale beyond 1M concurrent connections?+
Can we filter Postgres CDC changes server-side?+
filter: 'tenant_id=eq.$1' WAL에 대해 서버 측에서 평가되므로 클라이언트는 자신과 관련된 변경 사항만 받습니다. Postgres RLS 정책은 실시간 이벤트에도 적용됩니다.