WebSockets jako služba
Spravovaná realtime platforma za chatem a živými daty foony.com, otevřená všem vývojářům na foony.io.
WebSocketová služba udržuje trvalé spojení mezi tvými servery a každým připojeným klientem, takže aktualizace dorazí ve chvíli, kdy se stanou, místo až při dalším obnovení stránky. Foony Realtime za tebe zvládne tu neefektní práci: připojení, opětovná připojení, rozesílání, presenci a historii zpráv, to vše za jedním malým SDK.
Vyzkoušej to naživo
Vše níže běží právě teď proti produkční službě na realtime.foony.io. Otevři tuhle stránku ve druhé záložce a sleduj, jak se navzájem zrcadlí.
Presence a živé kurzory
Každý, kdo právě čte tuhle stránku, se objeví tady, přímo z presence kanálu. Pozice kurzorů putují jako pomíjivé zprávy, což je nízkolatenční vrstva, která zcela přeskakuje ukládání.
Živý chat
Tohle je skutečný chat pro tuhle stránku, ta samá @foony/chat místnost, na které běží každá Foony stránka a herní místnost. Zprávy přicházejí přes jeden kanál s historií a odesílání jde přes Foony server, takže každá zpráva je moderovaná.
Nikdo nedávno nic neřekl. Prolom ledy.
Synchronizace databáze
Tohle je produkční pipeline foony.com: napiš jakékoliv Foony uživatelské jméno a jeho veřejný řádek z Postgresu se streamuje přes WebSocket webu a pak se dál živě aktualizuje, jak hráč hraje. Žádné pollování, žádný API endpoint.
Hledám…
Proč si týmy WebSockety kupují místo toho, aby je stavěly
- Znovupřipojení, která neztrácejí zprávy. Prohlížeče ztrácejí spojení pořád. Klienti pokračují tam, kde skončili, díky přehrání historie, takže výpadek spojení neznamená zmeškané zprávy.
- Rozesílání ve velkém. Doručit jednu zprávu stotisícům odběratelů za méně než sekundu je náročný problém distribuovaných systémů. Tady je to celá práce.
- Přítomnost bez účetnictví. Uvidíš, kdo je právě online, a reaguj na události příchodu, aktualizace a odchodu, aniž bys psal vlastní logiku heartbeatů a timeoutů.
- Žádné plánování kapacity. WebSocket servery jsou stavové, takže jejich vlastní škálování znamená drainování, shardování a sticky routing. Řízená služba to přehodí na pager někoho jiného.
Co získáš s Foony Realtime
Kanály a pub/sub
Rozesílej pojmenované události přes WebSocket nebo REST do kanálů v rámci aplikace (např. chat:lobby) s předvídatelnou sémantikou doručení.
Přítomnost
Sleduj, kdo je online, automaticky obnovuj členství a reaguj na události příchodu, aktualizace a odchodu.
Historie zpráv
Přehraj nedávné zprávy z trvalého úložiště, aby se klienti čistě zotavili po znovupřipojení.
Autentizace tokeny
Vytvářej ze svého backendu krátkodobé klientské tokeny s oprávněními k publikování, odběru, přítomnosti a historii na úrovni kanálu.
Kompatibilní s Pusher
Mluví protokolem Pusher, takže aplikace s pusher-js a Laravel Echo se připojí změnou konfigurace místo přepisování.
Synchronizace databáze
Streamuj změny v Postgresu rovnou odebírajícím klientům jako živé dotazy, žádné pollování a žádný lepicí kód.
Celá integrace je pár řádků:
const realtime = new Realtime({ authCallback });
const channel = realtime.channels.get('chat:lobby');
channel.on((message) => {
showMessage(message.data);
});
await channel.publish('message', { text: 'hello' });
await channel.presence.enter({ name: 'Acorn' });Vyzkoušeno v ostrém provozu
Foony hojně využívá Foony Realtime pro náš chat a realtimové aktualizace databáze. Zhruba 1,5 milionu hráčů měsíčně se spoléhá na foony.io při přibližně 500 milionech zpráv a multiplayerová hra se cítí správně jen tehdy, když zprávy dorazí rychle, ve správném pořadí a přesně jednou. Foony by bez spolehlivosti a nákladové efektivity foony.io nebylo možné.
Podívej se, jak to funguje, v kterékoli z našich her a pak získej stejnou infrastrukturu s dashboardem a SDK na foony.io.

Vyzkoušej to na svém vlastním provozu
Bezplatný tarif zahrnuje 9 milionů zpráv měsíčně. Bez platební karty.
Časté dotazy
Co je WebSockets jako služba?
Spravovaná platforma, která vlastní trvalá spojení mezi tvojí aplikací a jejími uživateli. Místo provozování vlastních WebSocket serverů se tvoji klienti připojí ke službě, tvůj backend publikuje zprávy do kanálů přes SDK nebo REST a služba se stará o doručení, opětovná připojení, přítomnost a historii.
Čím se Foony Realtime liší od Pusher nebo Ably?
Pokrývá stejnou základní sadu kanálů, přítomnosti, historie a token autentizace a mluví protokolem Pusher, takže funguje jako plnohodnotná náhrada Pusher. Rozdíl je v původu a ceně. Byl postaven pro foony.com, naši vlastní multiplayerovou herní stránku, a bezplatný tarif zahrnuje 9 milionů zpráv měsíčně.
Musím kvůli přechodu přepisovat svou aplikaci?
Obvykle ne. Aplikace s pusher-js a Laravel Echo lze na Foony Realtime nasměrovat změnou konfigurace. Nové projekty používají @foony/realtime SDK pro JavaScript a TypeScript, Go SDK nebo REST API z jakéhokoli jazyka.
Kolik to stojí?
Bezplatný tarif zahrnuje 9 milionů zpráv měsíčně. Placené tarify přidávají měsíční kapacitu a využití nad rámec tvého tarifu se účtuje za milion zpráv. Aktuální čísla najdeš na foony.io/pricing.