टॉरनाडो websocket चैट उदाहरण में, प्रतिभागियों को सेट (link) में संग्रहीत किया जाता है, यह एक सर्वर के मामले में सुविधाजनक है। लेकिन यदि लोड बैलेंसर के रूप में एप्लिकेशन और nginx के कई उदाहरण चलाते हैं, तो इस मामले में, प्रतिभागियों को स्टोर करने के लिए बेहतर कैसे है?टॉरनाडो websocket चैट की स्केलेबिलिटी
7
A
उत्तर
4
आप रेडिस की pubsub
सुविधा का उपयोग करने पर विचार कर सकते हैं। (link)
संपादित करें:
जब अपने ग्राहकों को अपनी चैटरूम पर लॉग ऑन, वे कर सकते हैं subscribe
ने चैनल के लिए, chatroom
का कहना है। इससे कोई फर्क नहीं पड़ता कि वे किस टर्ननाडो उदाहरण का उपयोग कर रहे हैं। this module का उपयोग करके आप चैनल को अतुल्यकालिक रूप से सुन सकते हैं।
यदि कोई अन्य ग्राहक आपके चैट रूम में संदेश भेजता है (जो चैनल chatroom
चैनल को एक संदेश प्रकाशित करता है), तो सभी टर्ननाडो इंस्टेंस स्वचालित रूप से संदेशों को भेजे जाते हैं जो चैनल की सदस्यता लेते हैं। फिर आप वेबस्केट के माध्यम से संदेश भेज सकते हैं।
उदाहरण के लिए आप इस demo पर एक नज़र डाल सकते हैं।
संबंधित मुद्दे
- 1. टॉरनाडो websocket अनुप्रयोग में उपयोगकर्ता प्रमाणीकरण
- 2. वैरिएडिक टेम्पलेट्स की स्केलेबिलिटी
- 3. टॉरनाडो
- 4. टॉरनाडो: websockets के कनेक्शन की पहचान/ट्रैक?
- 5. स्केलेबिलिटी
- 6. WP7 सिल्वरलाइट ऐप स्केलेबिलिटी स्केलेबिलिटी
- 7. एक उल्का ऐप की स्केलेबिलिटी
- 8. फेसबुक की चैट
- 9. टॉरनाडो पायथन
- 10. जावा websocket क्लाइंट की आवश्यकता
- 11. डॉटनेटनेट स्केलेबिलिटी
- 12. एमएसएमक्यू स्केलेबिलिटी
- 13. वेबस्केट स्केलेबिलिटी
- 14. मेरे आवेदन की स्केलेबिलिटी को कैसे जांचें
- 15. फेसबुक चैट की तरह विंडो
- 16. WebSocket क्षमता, प्रसारण
- 17. ThreadPoolExecutor के साथ टॉरनाडो
- 18. WebSocket सर्वर
- 19. टॉरनाडो एक जेसनपी ऑब्जेक्ट
- 20. WebSocket Heroku
- 21. gevent-websocket
- 22. Play Websocket नमूना - केवल एक Akka अभिनेता?
- 23. websocket mod_proxy_wstunnel
- 24. WebSocket प्रमाणीकरण
- 25. websocket ++ 0.3X
- 26. सीक्यूआरएस + इवेंट सोर्सिंग स्केलेबिलिटी
- 27. स्केलेबिलिटी और टेस्टेबिलिटी
- 28. Azure सेवा बस स्केलेबिलिटी
- 29. सीईडीईटी स्केलेबिलिटी टिप्स
- 30. सिग्नलआर हब स्केलेबिलिटी इश्यू
मैं कहूंगा कि यदि आप कई उदाहरण चलाते हैं तो कोई फर्क नहीं पड़ता। अंत में प्रत्येक इंस्टेंस में इसका अपना सेट होगा()। यदि आप उदाहरण के बीच उपयोगकर्ताओं को स्विच करने के लिए लोड बैलेंसर के बारे में चिंता करते हैं, तो मुझे नहीं लगता कि चैट के दौरान काम करेगा लेकिन मैं गलत हो सकता हूं। मैं उन सभी उपयोगकर्ताओं की एक ही सूची का उपयोग करने के लिए सभी उदाहरण नहीं चाहता हूं जिन्हें आप एक छोटे डीबी या एक कुंजी-मूल्य स्टोर पर विचार कर सकते हैं। – pypat
जैसा कि मैं इसे समझता हूं, प्रत्येक उदाहरण केवल उनके प्रतिभागियों के साथ कनेक्शन रखेगा, अलग-अलग उदाहरणों में उपयोगकर्ताओं की एक अलग सूची होगी। लेकिन चैट में नए संदेशों के बारे में अन्य उदाहरण कैसे अधिसूचित किया जाएगा? वह – saniaxxx26
चूंकि 'सेट' केवल एक पायथन उदाहरण से संबंधित है और अन्य उदाहरणों तक इसका उपयोग नहीं किया जा सकता है, आपको बनाना होगा, जैसे @pypat उल्लेख, एक आम, और तेज़ कुंजी-मूल्य स्टोर जिसे सभी उदाहरणों से एक्सेस किया जा सकता है (जैसे मेमकैच , रेडिस इत्यादि)। अद्यतन विधि के सभी उदाहरणों को सूचित करने के लिए रेडिस पब/सब सिस्टम का उपयोग करना एक तरीका है। उम्मीद है कि नीचे मेरा जवाब थोड़ा सा मदद करता है। –