WebSockets as a Service
Platform realtime terkelola di balik chat dan data live foony.com, terbuka buat semua developer di foony.io.
Layanan WebSocket menjaga koneksi tetap terbuka antara server kamu dan setiap klien yang terhubung, jadi update tiba saat itu juga alih-alih menunggu refresh halaman berikutnya. Foony Realtime menangani bagian-bagian yang nggak seru buat kamu: koneksi, reconnect, fan-out, presence, dan riwayat pesan, semuanya di balik satu SDK kecil.
Coba langsung
Semua di bawah ini berjalan langsung terhadap layanan produksi di realtime.foony.io sekarang juga. Buka halaman ini di tab kedua dan lihat keduanya saling mencerminkan.
Presence dan kursor live
Semua orang yang membaca halaman ini muncul di sini, langsung dari presence channel. Posisi kursor dikirim sebagai pesan ephemeral, tier latensi rendah yang melewati penyimpanan sama sekali.
Chat live
Ini chat asli buat halaman ini, ruang @foony/chat yang sama yang dipakai setiap halaman dan ruang game Foony. Pesan tiba lewat satu channel dengan riwayat, dan pengiriman lewat server Foony jadi setiap pesan dimoderasi.
Belum ada yang ngomong apa-apa akhir-akhir ini. Jadilah pemecah kebekuan.
Sinkronisasi Database
Ini adalah pipeline produksi foony.com: ketik username Foony mana pun dan baris Postgres publiknya akan mengalir masuk lewat WebSocket situs, lalu terus diperbarui langsung selagi mereka main. Nggak ada polling, nggak ada API endpoint.
Mencari…
Kenapa tim membeli WebSocket daripada membangunnya sendiri
- Reconnect yang nggak kehilangan pesan. Browser sering banget memutus koneksi. Klien melanjutkan dari titik terakhir dengan pemutaran ulang history, jadi koneksi yang putus-putus nggak berarti pesan yang terlewat.
- Fan-out dalam skala besar. Mengirim satu pesan ke seratus ribu subscriber dalam waktu kurang dari satu detik adalah masalah sistem terdistribusi yang berat. Di sini, itulah seluruh tugasnya.
- Presence tanpa pembukuan. Lihat siapa yang online sekarang dan bereaksi terhadap event masuk, update, dan keluar, tanpa perlu menulis logika heartbeat dan timeout sendiri.
- Tanpa perencanaan kapasitas. Server WebSocket bersifat stateful, jadi menskalakannya sendiri berarti draining, sharding, dan sticky routing. Layanan terkelola bikin itu jadi urusan orang lain.
Apa yang kamu dapat dengan Foony Realtime
Channel dan pub/sub
Fan out event bernama lewat WebSocket atau REST ke channel dalam lingkup aplikasi (misalnya chat:lobby) dengan semantik pengiriman yang bisa diprediksi.
Presence
Lacak siapa yang online, refresh keanggotaan otomatis, dan bereaksi terhadap event masuk, update, dan keluar.
History pesan
Putar ulang pesan terbaru dari penyimpanan tahan lama agar klien pulih dengan mulus setelah reconnect.
Auth token
Buat token klien berumur pendek dari backend-mu dengan izin publish, subscribe, presence, dan history di level channel.
Kompatibel dengan Pusher
Berbicara dengan protokol Pusher, jadi aplikasi pusher-js dan Laravel Echo bisa terhubung cukup dengan mengubah konfigurasi tanpa perlu menulis ulang.
Sinkronisasi Database
Streaming perubahan Postgres langsung ke klien yang subscribe sebagai live query, tanpa polling dan tanpa kode perekat.
Seluruh integrasinya cuma beberapa baris:
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' });Teruji di game sungguhan
Foony memanfaatkan Foony Realtime secara luas untuk chat dan pembaruan database realtime kami. Sekitar 1,5 juta pemain per bulan mengandalkan foony.io untuk kurang lebih 500 juta pesan, dan game multiplayer cuma terasa pas kalau pesan-pesan itu datang cepat, berurutan, dan tepat sekali. Foony nggak akan mungkin ada tanpa keandalan dan efisiensi biaya foony.io.
Lihat langsung di salah satu game kami, lalu dapatkan infrastruktur yang sama lengkap dengan dashboard dan SDK di foony.io.

Coba di traffic kamu sendiri
Tier gratis termasuk 9 juta pesan per bulan. Nggak perlu kartu kredit.
Pertanyaan yang sering ditanyakan
Apa itu WebSockets as a service?
Platform terkelola yang memegang koneksi persisten antara aplikasimu dan penggunanya. Alih-alih menjalankan server WebSocket sendiri, klienmu terhubung ke layanan, backend-mu mem-publish pesan ke channel lewat SDK atau REST, dan layanan yang mengurus pengiriman, reconnect, presence, dan history.
Apa bedanya Foony Realtime dengan Pusher atau Ably?
Ia mencakup permukaan inti yang sama berupa channel, presence, history, dan token auth, serta bicara pakai protokol Pusher, jadi bisa jadi alternatif Pusher yang drop-in. Bedanya ada di asal-usul dan harga. Ia dibangun untuk foony.com, situs game multiplayer kami sendiri, dan tier gratisnya termasuk 9 juta pesan per bulan.
Apakah aku harus menulis ulang aplikasiku untuk beralih?
Biasanya nggak. Aplikasi pusher-js dan Laravel Echo bisa diarahkan ke Foony Realtime cuma dengan perubahan konfigurasi. Proyek baru pakai SDK @foony/realtime untuk JavaScript dan TypeScript, SDK Go, atau REST API dari bahasa apa pun.
Berapa biayanya?
Tier gratis termasuk 9 juta pesan per bulan. Paket berbayar menambah kapasitas bulanan, dan pemakaian di atas paketmu ditagih per juta pesan. Angka terkini ada di foony.io/pricing.