मैंने हाल ही में एक नोड.जेएस आधारित वेब सॉकेट सर्वर स्थापित किया है जिसे एक छोटे ईसी 2 इंस्टेंस (m1.small) पर प्रति सेकंड लगभग 2,000 नए कनेक्शन अनुरोधों को संभालने के लिए परीक्षण किया गया है। M1.small उदाहरण की लागत को ध्यान में रखते हुए, और वेबसॉकेट सक्षम प्रॉक्सी सर्वर जैसे HAProxy के पीछे कई उदाहरण डालने की क्षमता, हम परिणामों से बहुत खुश हैं।एसएसएल कनेक्शन की उच्च मात्रा को प्रभावी ढंग से लागत
हालांकि, हमने महसूस किया कि हमने अभी तक SSL का उपयोग करके कोई परीक्षण नहीं किया है, इसलिए कई SSL विकल्पों में देखा गया। यह स्पष्ट हो गया कि प्रॉक्सी सर्वर पर एसएसएल कनेक्शन को समाप्त करना आदर्श है क्योंकि प्रॉक्सी सर्वर यातायात का निरीक्षण कर सकता है और एक्स-फॉरवर्ड जैसे हेडर डालने के लिए ताकि सर्वर जानता हो कि अनुरोध किस आईपी से आया था।
इसलिए मैंने पाउंड, स्टनल और स्टड जैसे कई समाधानों को देखा, जिनमें से सभी 443 को आने वाले कनेक्शनों को समाप्त करने की इजाजत देते थे, और फिर पोर्ट 80 पर हैप्रोक्सी पर पहुंचे, जो बदले में वेब पर कनेक्शन पास करता है सर्वर। दुर्भाग्यवश, हालांकि, मैंने पाया कि एक सी 1.मेडियम (हाई सीपीयू) उदाहरण पर एसएसएल टर्मिनेशन प्रॉक्सी सर्वर पर यातायात भेजना बहुत सी जल्दी से सभी सीपीयू संसाधनों का उपभोग करता है, और केवल 50 या उससे अधिक अनुरोधों की दर से। मैंने ऊपर सूचीबद्ध सभी तीन समाधानों का उपयोग करने की कोशिश की, और उनमें से सभी ने वही प्रदर्शन किया जैसा कि मैं हुड के तहत मानता हूं, वे सभी ओपनएसएसएल पर भरोसा करते हैं। मैंने 64 बिट बहुत बड़े उच्च CPU इंस्टेंस (c1.xlarge) का उपयोग करने का प्रयास किया और पाया कि प्रदर्शन केवल लागत के साथ रैखिक रूप से पैमाने पर है। तो ईसी 2 मूल्य निर्धारण के आधार पर, मुझे प्रति सेकेंड 200 एसएसएल अनुरोधों के लिए लगभग $ 600p/मीटर का भुगतान करना होगा, प्रति सेकेंड 2,000 गैर एसएसएल अनुरोधों के लिए $ 60p/m के विपरीत। जब हम प्रति सेकेंड 1,000 या 10,000 अनुरोध स्वीकार करने की योजना बनाते हैं तो पूर्व मूल्य आर्थिक रूप से अभावनीय हो जाता है।
मैंने Node.js 'https सर्वर का उपयोग करके एसएसएल को समाप्त करने का भी प्रयास किया, और प्रदर्शन पाउंड, सुरंग और स्टड के समान था, इसलिए उस दृष्टिकोण के लिए कोई स्पष्ट लाभ नहीं था।
तो मुझे उम्मीद है कि कोई मदद कर सकता है यह सलाह दे रहा है कि मैं इस हास्यास्पद लागत के आसपास कैसे प्राप्त कर सकता हूं जिसे हमें एसएसएल कनेक्शन प्रदान करने के लिए अवशोषित करना है। मैंने सुना है कि एसएसएल हार्डवेयर त्वरक बहुत बेहतर प्रदर्शन प्रदान करते हैं क्योंकि हार्डवेयर एसएसएल एन्क्रिप्शन और डिक्रिप्शन के लिए डिज़ाइन किया गया है, लेकिन जैसा कि हम वर्तमान में हमारे सभी सर्वरों के लिए अमेज़ॅन ईसी 2 का उपयोग कर रहे हैं, एसएसएल हार्डवेयर एक्सेलेरेटर का उपयोग करना एक विकल्प नहीं है जब तक हमारे पास एक अलग डेटा न हो भौतिक सर्वर के साथ केंद्र। मैं सिर्फ यह देखने के लिए संघर्ष कर रहा हूं कि अमेज़ॅन, Google, फेसबुक की पसंद एसएसएल पर अपने सभी ट्रैफिक प्रदान कर सकती है जब इसकी लागत बहुत अधिक होती है। वहां एक बेहतर समाधान होना चाहिए।
कोई सलाह या विचारों की बहुत सराहना की जाएगी।
धन्यवाद मैट
शब्द "समाप्ति" आपके संदर्भ में कम से कम भ्रमित है। मैंने एक मिनट या तो यह समझने की कोशिश की कि आप एसएसएल कनेक्शन क्यों समाप्त करना चाहते हैं और क्यों न सिर्फ सॉकेट बंद करें। –
बहुत बुरा एल्ब वेब सॉकेट नहीं करता है! क्या आपने सिफर के सेट को प्रतिबंधित करने का प्रयास किया है जिसका उपयोग कम्प्यूटेशनल रूप से सस्ते लोगों के लिए किया जा सकता है? –
क्या आपने इसे संभालने के लिए एसएसएल के साथ अमेज़ॅन एल्ब का उपयोग करने की कोशिश की है? मैं उस दो सास के लिए उपयोग करता हूं जो मैं चलाता हूं। ठीक काम करता है। 2000 कॉन/सेकंड आवश्यकता नहीं है इसलिए पता नहीं है कि यह –