2009-11-20 12 views
7

में ऑनलाइन कौन है ऑनलाइन वर्तमान में एक मूल उपयोगकर्ता सिस्टम सेट-अप के साथ चल रहा एक पिलोन एप्लिकेशन है। मैं एक विजेट को आजमाने और बनाने की कोशिश करता हूं जो वर्तमान में वेबसाइट पर लॉग इन करने वाले उपयोगकर्ताओं को दिखाता है। मुझे यकीन नहीं है कि मुझे इसे कैसे संभालना चाहिए; मुझे यकीन नहीं है कि क्या पिलोन सत्र सक्रिय हैं या नहीं, यह उपयोगकर्ता इस पर आधारित है कि उपयोगकर्ता वास्तव में वेब ऐप्स पृष्ठ पर है या नहीं, इसलिए मैं कुछ विचारों की तलाश कर रहा हूं कि मैं इसे पूरा करने के लिए पहले से क्या कर सकता हूं।पिलोन

उत्तर

11

आप कितना सटीक होना चाहते हैं, इस पर निर्भर करते हुए आप इसे कई तरीके कर सकते हैं।

इसे करने का सबसे आसान और पहला तरीका, उपयोगकर्ताओं का ट्रैक रखने के लिए memecached या एक सतत स्टोर का उपयोग करें, और आखिरी बार उन्होंने एक पृष्ठ मारा। किसी भी व्यक्ति पर विचार करें जिसने X मिनट के भीतर 'लॉग इन' होने के लिए एक पृष्ठ मारा है, जब तक कि वे 'लॉग आउट' न हों। यदि आप बस प्रत्येक पृष्ठ हिट डीबी अपडेट करते हैं, या memcached (या तेज डीबी) अद्यतन करते हैं, तो अंतिम मिनट के भीतर सत्रों के लिए पूछें।

दूसरा, लेकिन आपके सर्वर पर अधिक गहन, प्रत्येक पृष्ठ पर जावास्क्रिप्ट डालें, जो उपयोगकर्ता को लॉग इन करने के लिए प्रत्येक एक्सएक्स सेकेंड/मिनट में एक विशेष यूआरएल हिट करता है। रिकॉर्ड करें, और उस गिनती का उपयोग करें। इसका लाभ यह है कि आपका जेएस वास्तविक समय में पृष्ठ पर काउंटर को अद्यतित रख सकता है। हालांकि मतदान आपके सर्वर पर महंगा हो सकता है।

या तीसरा, धूमकेतु शैली प्रणाली का उपयोग करें, ऑर्बिटेड के साथ कहें, और जब तक उपयोगकर्ता सर्वर से जुड़े किसी पृष्ठ पर है, तो कनेक्शन खुल जाएगा, और आप ट्रैक कर सकते हैं कि आपके कितने खुले सत्र हैं। मेरे द्वारा विश्वास किए जाने वाले सर्वर पर ऑर्बिटेड लगभग 10k खुले कनेक्शन को संभाल सकता है।

मैं पहले प्रकार की सिफारिश करता हूं क्योंकि इसे कम से कम अतिरिक्त ओवरहेड/सेटअप की आवश्यकता होती है और काफी सामान्य मामला संभाला जाता है। यदि आप रीयल-टाइम चैट का उपयोग कर रहे हैं जहां आपको अधिक सटीकता की आवश्यकता है तो दूसरे में से एक पर विचार करें।

+0

बीकर के स्टोर को पढ़ने के बारे में क्या? – Joril