मैंने थोड़ा सबक (कठिन तरीका) सीखा। मैंने उबंटू एडब्ल्यूएस ईसी 2 क्लाउड सेवाओं (शक्तिशाली जीपीयू का उपयोग करता है) पर एक नंबर क्रंचिंग एप्लिकेशन बनाया, और मैं इसके लिए केवल वास्तविक समय में इसकी प्रगति देखना चाहता था। इस तथ्य के कारण कि इसे रियलटाइम डेटा की आवश्यकता थी, यह स्पष्ट था कि मुझे अपडेट्स को पुश करने के लिए वेबस्कॉक की आवश्यकता थी।
यह अवधारणा के प्रमाण के साथ शुरू हुआ, और महान काम किया। लेकिन तब जब हम इसे जनता के लिए उपलब्ध कराना चाहते थे, हमें उपयोगकर्ता सत्र जोड़ना था, इसलिए हमें लॉगिन सुविधाओं की आवश्यकता थी। और कोई फर्क नहीं पड़ता कि आप इसे कैसे देखते हैं, वेबसैट को यह जानना होगा कि वह किस उपयोगकर्ता के साथ काम करता है, इसलिए हमने उपयोगकर्ताओं को प्रमाणित करने के लिए वेबस्कैट का उपयोग करने का शॉर्टकट लिया । यह स्पष्ट लग रहा था, और यह सुविधाजनक था।
हमें वास्तव में कनेक्शन को विश्वसनीय बनाने के लिए कुछ समय शांत करना था। हमने कुछ सस्ते वेबसोकेट ट्यूटोरियल के साथ शुरुआत की, लेकिन पता चला कि कनेक्शन के टूटने पर हमारा कार्यान्वयन स्वचालित रूप से पुन: कनेक्ट करने में सक्षम नहीं था। जब हम सॉकेट-आईओ पर स्विच करते हैं तो यह सब सुधर जाता है। सॉकेट-आईओ एक चाहिए!
कहा जा रहा है कि ईमानदार होने के लिए, मुझे लगता है कि हम कुछ महान सॉकेट-आईओ सुविधाओं से चूक गए। सॉकेट-आईओ की पेशकश करने के लिए बहुत अधिक है, और मुझे यकीन है, अगर आप इसे अपने शुरुआती डिजाइन में ध्यान में रखते हैं, तो आप इससे बाहर निकल सकते हैं। इसके विपरीत, हमने पुराने वेबस्कैट को सॉकेट-आईओ की वेबसोकेट कार्यक्षमता के साथ बदल दिया, और वह यह था। (नो रूम, नो चैनल, ...) एक रिडिजाइन सब कुछ अधिक शक्तिशाली बना सकता था। लेकिन हमारे पास उसके लिए समय नहीं था। यह हमारे अगले प्रोजेक्ट के लिए याद रखने वाली बात है।
अगला हमने अधिक से अधिक डेटा (उपयोगकर्ता इतिहास, चालान, लेनदेन, ...) संग्रहीत करना शुरू कर दिया । हमने एक एडब्ल्यूएस डायनामोडब डेटाबेस में यह सब संग्रहीत किया, और फिर से, हमने फ्रंट-एंड से बैकएंड तक सीआरयूडी संचालन को संप्रेषित करने के लिए सॉकेट-आईओ का उपयोग किया। मुझे लगता है कि हमने वहां एक गलत मोड़ ले लिया। वो एक गलती थी।
- क्योंकि कुछ ही समय बाद हमें पता चला कि अमेज़ॅन की क्लाउड सेवाएं (AWS) Restful अनुप्रयोगों के लिए कुछ बेहतरीन लोड-बैलेंसिंग / स्केलिंग टूल प्रदान करती हैं ।
- हमें अब यह आभास होता है कि हमें CRUD ऑपरेशन के हैंडशेक करने के लिए बहुत सारे कोड लिखने होंगे ।
- हाल ही में हमने पेपैल एकीकरण को लागू किया। हम इसे काम करने में कामयाब रहे। लेकिन फिर से, सभी ट्यूटोरियल इसे रेस्टफुल एपीआई के साथ कर रहे हैं । वेबस्केट्स के साथ उन्हें लागू करने के लिए हमें उनके उदाहरणों को फिर से लिखना / पुनर्विचार करना होगा। हम इसे हालांकि काफी तेजी से काम करने के लिए मिला है। लेकिन यह महसूस करता है कि हम प्रवाह के खिलाफ जा रहे हैं ।
यह सब कहने के बाद, हम अगले हफ्ते लाइव हो रहे हैं। हम समय पर वहां पहुंच गए, सब कुछ काम करता है। और यह तेज़ है, लेकिन क्या यह पैमाना होगा?