मैं ईसी 2 पर Socket.io चलाने वाले नोडजेएस अनुप्रयोग सर्वरों का एक समूह स्थापित करने की योजना बना रहा हूं, और मैं उनके बीच लोड फैलाने के लिए Elastic Load Balancer का उपयोग करना चाहता हूं। मुझे पता है कि ईएलबी बॉक्स के बाहर Websockets का समर्थन नहीं करता है, लेकिन मैं here in Scenario 2 वर्णित सेटअप का उपयोग कर सकता हूं।सॉकेट.यो एक टीसीपी कॉन्फ़िगर किए गए वेबकैकेट पर अमेज़ॅन लोचदार लोड बैलेंसर
the blog post में बताया गया है, हालांकि, मुझे लगता है कि इस सेटअप कोई सत्र आत्मीयता या स्रोत आईपी जानकारी प्रदान करता है नोटिस:
हम सत्र संबंध है और न ही इस स्थापना साथ एक्स-फॉरवर्ड हेडर नहीं हो सकता क्योंकि ईएलबी नहीं है HTTP संदेशों को पार्स करना, इसलिए असंभव है ताकि सत्र एफ़िनिटी सुनिश्चित न हो और न ही विशेष एक्स-फॉरवर्ड हेडर इंजेक्ट करें।
क्या सॉकेट.io अभी भी इन परिस्थितियों में काम करेगा? या एसएसएल के साथ लोड बैलेंसर के पीछे सॉकेट.ओ ऐप सर्वर का एक सेट रखने का दूसरा तरीका है?
संपादित करें: टिम कैसवेल इस पहले से ही here करने के बारे में बात करता है। क्या कोई पोस्ट है यह बताते हुए कि इसे कैसे सेट किया जाए? फिर यहां कोई सत्र चिपचिपापन नहीं है, लेकिन चीजें ठीक काम कर रही हैं।
एक तरफ, चिपचिपा सत्र वास्तव में websockets के साथ आवश्यक हैं? क्या सूचना नए और अलग अनुरोधों के रूप में यात्रा करती है या क्या केवल एक अनुरोध + कनेक्शन है जो सभी जानकारी के साथ चलता है?
त्वरित उत्तर - नहीं, socket.io काम नहीं करेगा यदि बाद के अनुरोध एक अलग सर्वर पर जाएंगे, तो आपको अपने सेटअप में "चिपचिपा" सत्र लागू करने का एक तरीका ढूंढना होगा। – Dmitry
@ डिमिट्री: क्या आप निश्चित हैं? मुझे लगता है कि यदि आप एक साझा स्टोर का उपयोग करते हैं, तो सॉकेट.ओ को काम करना चाहिए, उदा। RedisStore? –
@LinusGThiel यह चिपचिपा सत्र के बिना काम नहीं करेगा, यहां कुछ और विवरण हैं: https://groups.google.com/d/topic/socket_io/d9a8c49uymc/discussion – Dmitry