WebSockets as a Service

foony.com के चैट और लाइव डेटा के पीछे का मैनेज्ड रियलटाइम प्लेटफ़ॉर्म, foony.io पर हर डेवलपर के लिए खुला।

एक WebSocket सर्विस तुम्हारे सर्वर और हर जुड़े क्लाइंट के बीच एक स्थायी कनेक्शन खुला रखती है, तो अपडेट अगले पेज रिफ़्रेश का इंतज़ार करने के बजाय जिस पल होते हैं उसी पल आ जाते हैं। Foony Realtime तुम्हारे लिए बिना ग्लैमर वाले हिस्से संभाल लेता है: कनेक्शन, रीकनेक्ट, फ़ैन-आउट, प्रेज़ेंस, और मैसेज हिस्ट्री, सब एक छोटे SDK के पीछे।

1.5Mहर महीने सर्व किए गए प्लेयर्स
500M+हर महीने डिलीवर किए गए मैसेज
<100msp95 फ़ैन-आउट टारगेट

लाइव आज़माओ

नीचे सब कुछ अभी realtime.foony.io पर चल रहे प्रोडक्शन सर्विस के ख़िलाफ़ चलता है। इस पेज को दूसरे टैब में खोलो और देखो दोनों एक-दूसरे को मिरर कैसे करते हैं।

प्रेज़ेंस और लाइव कर्सर

इस पेज को पढ़ रहा हर कोई यहाँ दिखता है, सीधे चैनल प्रेज़ेंस से। कर्सर की जगहें एफ़ेमरल मैसेज के रूप में सफ़र करती हैं, वो लो-लेटेंसी टियर जो स्टोरेज को पूरी तरह छोड़ देता है।

1 अभी यहाँअपना माउस हिलाओ। हाथ हिलाने के लिए क्लिक करो।

लाइव चैट

यह इस पेज की असली चैट है, वही @foony/chat रूम जिस पर हर Foony पेज और गेम रूम चलता है। मैसेज हिस्ट्री वाले एक चैनल पर आते हैं, और भेजना Foony के सर्वर से होकर जाता है ताकि हर मैसेज मॉडरेट हो।

हाल में किसी ने कुछ नहीं कहा। तुम बर्फ़ तोड़ो।

डेटाबेस सिंक

यह foony.com की प्रोडक्शन पाइपलाइन है: कोई भी Foony यूज़रनेम टाइप करो और उनकी पब्लिक Postgres रो साइट के WebSocket पर स्ट्रीम होकर आ जाती है, फिर जैसे-जैसे वे खेलते हैं वैसे-वैसे लाइव अपडेट होती रहती है। न कोई पोलिंग, न कोई API एंडपॉइंट।

खोज रहे हैं…

टीमें WebSockets खुद बनाने की बजाय क्यों खरीदती हैं

  • ऐसे रीकनेक्ट जो मैसेज नहीं खोते. ब्राउज़र लगातार कनेक्शन गिराते रहते हैं। क्लाइंट्स हिस्ट्री रीप्ले के साथ वहीं से आगे बढ़ते हैं जहाँ छोड़ा था, तो कमज़ोर कनेक्शन का मतलब मिस हुए मैसेज नहीं होता।
  • बड़े पैमाने पर फैन-आउट. एक सेकंड से भी कम में एक मैसेज को एक लाख सब्सक्राइबर्स तक पहुँचाना एक कठिन डिस्ट्रिब्यूटेड सिस्टम्स समस्या है। यहाँ, यही पूरा काम है।
  • बिना हिसाब-किताब के प्रेज़ेंस. देखो कि अभी कौन ऑनलाइन है और एंटर, अपडेट, व लीव इवेंट्स पर रिएक्ट करो, बिना अपना हार्टबीट और टाइमआउट लॉजिक लिखे।
  • कोई कैपेसिटी प्लानिंग नहीं. WebSocket सर्वर स्टेटफुल होते हैं, तो उन्हें खुद स्केल करने का मतलब है ड्रेनिंग, शार्डिंग, और स्टिकी रूटिंग। एक मैनेज्ड सर्विस उसे किसी और की सिरदर्दी बना देती है।

Foony Realtime के साथ तुम्हें क्या मिलता है

चैनल्स और pub/sub

WebSocket या REST के ज़रिए नाम वाले इवेंट्स को ऐप-स्कोप्ड चैनल्स (जैसे chat:lobby) पर पूर्वानुमेय डिलीवरी सेमांटिक्स के साथ फैन आउट करो।

प्रेज़ेंस

ट्रैक करो कि कौन ऑनलाइन है, सदस्यता अपने आप रिफ्रेश करो, और एंटर, अपडेट, व लीव इवेंट्स पर रिएक्ट करो।

मैसेज हिस्ट्री

टिकाऊ स्टोरेज से हाल के मैसेज रीप्ले करो ताकि क्लाइंट्स रीकनेक्ट के बाद साफ़-सुथरे तरीके से रिकवर हो जाएँ।

टोकन ऑथ

अपने बैकएंड से चैनल-लेवल पब्लिश, सब्सक्राइब, प्रेज़ेंस, और हिस्ट्री परमिशन्स के साथ कम अवधि वाले क्लाइंट टोकन बनाओ।

Pusher कम्पैटिबल

Pusher प्रोटोकॉल बोलता है, तो pusher-js और Laravel Echo ऐप्स रीराइट के बजाय बस एक कॉन्फ़िगरेशन बदलाव से कनेक्ट हो जाते हैं।

डेटाबेस सिंक

Postgres बदलावों को सीधे सब्सक्राइब किए गए क्लाइंट्स तक लाइव क्वेरीज़ के रूप में स्ट्रीम करो, न कोई पोलिंग और न कोई ग्लू कोड।

पूरा इंटीग्रेशन बस कुछ लाइनों का है:

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' });

असली गेम्स पर आज़माया-परखा

Foony अपने चैट और रियलटाइम डेटाबेस अपडेट्स के लिए Foony Realtime का जमकर इस्तेमाल करता है। हर महीने करीब 15 लाख खिलाड़ी foony.io पर भरोसा करते हैं, जो लगभग 50 करोड़ मैसेज संभालता है, और एक मल्टीप्लेयर गेम तभी सही लगता है जब वे मैसेज तेज़ी से, क्रम में, और ठीक एक बार पहुँचें। foony.io की भरोसेमंदी और किफ़ायती दाम के बिना Foony मुमकिन ही नहीं होता।

8 Ball Pool online multiplayer billiards thumbnailDinoMight Bomberman style online multiplayer thumbnailChess online multiplayer board thumbnail9 Ball Pool online multiplayer billiards thumbnailSnooker online multiplayer thumbnailCarrom board game online multiplayer thumbnail

इसे एक्शन में देखो हमारे किसी भी गेममें, फिर foony.io पर डैशबोर्ड और SDK के साथ वही इंफ्रास्ट्रक्चर पाओ।

बल्बी, Foony का शुभंकर

अपने खुद के ट्रैफ़िक पर आज़माओ

फ्री टियर में हर महीने 90 लाख मैसेज शामिल हैं। कोई क्रेडिट कार्ड ज़रूरी नहीं।

अक्सर पूछे जाने वाले सवाल

WebSockets as a service क्या है?

एक मैनेज्ड प्लेटफ़ॉर्म जो तुम्हारे ऐप और उसके यूज़र्स के बीच के परसिस्टेंट कनेक्शन संभालता है। अपने खुद के WebSocket सर्वर चलाने के बजाय, तुम्हारे क्लाइंट्स सर्विस से जुड़ते हैं, तुम्हारा बैकएंड SDK या REST के ज़रिए चैनल्स पर मैसेज पब्लिश करता है, और सर्विस डिलीवरी, रीकनेक्ट, प्रेज़ेंस, और हिस्ट्री संभालती है।

Foony Realtime, Pusher या Ably से कैसे अलग है?

यह चैनल्स, प्रेज़ेंस, हिस्ट्री, और टोकन auth का वही मुख्य दायरा कवर करता है, और Pusher प्रोटोकॉल बोलता है, तो यह ड्रॉप-इन Pusher विकल्प की तरह काम करता है। फ़र्क है इसकी उत्पत्ति और कीमत का। इसे foony.com के लिए बनाया गया था, जो हमारी अपनी मल्टीप्लेयर गेम साइट है, और फ्री टियर में हर महीने 90 लाख मैसेज शामिल हैं।

स्विच करने के लिए क्या मुझे अपना ऐप दोबारा लिखना पड़ेगा?

आमतौर पर नहीं। pusher-js और Laravel Echo ऐप्स को एक कॉन्फ़िगरेशन बदलाव से Foony Realtime की ओर मोड़ा जा सकता है। नए प्रोजेक्ट्स इस्तेमाल करते हैं JavaScript और TypeScript के लिए @foony/realtime SDK, Go SDK, या REST API किसी भी भाषा से।

इसकी कीमत क्या है?

फ्री टियर में हर महीने 90 लाख मैसेज शामिल हैं। पेड प्लान्स मासिक कैपेसिटी जोड़ते हैं, और तुम्हारे प्लान से ऊपर के इस्तेमाल का बिल प्रति मिलियन मैसेज के हिसाब से बनता है। मौजूदा आँकड़े यहाँ हैं foony.io/pricing.

8 Ball Pool online multiplayer billiards icon