विज्ञापन
सोशल नेटवर्किंग उन लोगों से जुड़ने की कला है जो सामान्य हितों को साझा करते हैं। आपका "नेटवर्क" एक समुदाय है जो आपको दूसरों के साथ एकजुट रखने में मदद करता है और कई लाभ प्रदान करता है। सोशल मीडिया साइटों के माध्यम से नेटवर्किंग ने क्रांति ला दी है कि हम इंटरनेट का उपयोग कैसे करते हैं और अब हम जिसे वेब 2.0 कहते हैं उसमें सबसे आगे हैं।
फेसबुक है सामाजिक नेटवर्किंग। लोग अब लगभग 6 वर्षों से एक दूसरे को "फेसबुकिंग" कर रहे हैं, बना रहे हैं फेसबुक दुनिया भर में 350 मिलियन से अधिक उपयोगकर्ताओं के साथ सबसे अधिक इस्तेमाल किया जाने वाला सोशल नेटवर्क। लेकिन फेसबुक कैसे काम करता है?
इस लेख में, मैं फेसबुक के आंतरिक कामकाज पर चर्चा करूंगा, जो इसे कवर करेगा आर्किटेक्चर और फ्रंटएंड / बैकएंड इन्फ्रास्ट्रक्चर "" फेसबुक को एक साथ रखने वाले नट और बोल्ट।
फेसबुक कैसे काम करता है? ”“ फ्रंट एंड
फेसबुक अपने मूल ढांचे को बनाने के लिए कई तरह की सेवाओं, उपकरणों और प्रोग्रामिंग भाषाओं का उपयोग करता है। सामने के छोर पर, उनके सर्वर मेम्चे के साथ एक LAMP (लिनक्स, अपाचे, MySQL, और PHP) स्टैक चलाते हैं। कंप्यूटर विज्ञान विशेषज्ञ नहीं? आइए एक नजर डालते हैं कि वास्तव में इसका क्या मतलब है।
लिनक्स और अपाचे
यह हिस्सा बहुत आत्म-व्याख्यात्मक है। लिनक्स एक यूनिक्स जैसा कंप्यूटर ऑपरेटिंग सिस्टम कर्नेल है। यह खुला स्रोत है, बहुत अनुकूलन योग्य है, और सुरक्षा के लिए अच्छा है। फेसबुक अपाचे HTTP सर्वर पर लिनक्स ऑपरेटिंग सिस्टम चलाता है। अमरीका की एक मूल जनजाति भी मुफ़्त है और उपयोग में सबसे लोकप्रिय ओपन सोर्स वेब सर्वर है।
माई एसक्यूएल
डेटाबेस के लिए, फेसबुक अपनी गति और विश्वसनीयता के कारण MySQL का उपयोग करता है। माई एसक्यूएल मुख्य रूप से कुंजी-मूल्य की दुकान के रूप में उपयोग किया जाता है क्योंकि डेटा को तार्किक उदाहरणों के एक बड़े सेट के बीच यादृच्छिक रूप से वितरित किया जाता है। ये तार्किक उदाहरण शारीरिक नोड्स में फैले हुए हैं और भौतिक नोड स्तर पर लोड संतुलन किया जाता है।
जहां तक कस्टमाइजेशन का सवाल है, फेसबुक ने एक कस्टम पार्टीशनिंग स्कीम विकसित की है जिसमें एक ग्लोबल आईडी को सभी डेटा को सौंपा गया है। उनके पास एक कस्टम संग्रह योजना भी है जो प्रति उपयोगकर्ता के आधार पर लगातार और हाल के डेटा पर आधारित है। अधिकांश डेटा यादृच्छिक रूप से वितरित किए जाते हैं।
पीएचपी
फेसबुक PHP का उपयोग करता है क्योंकि यह व्यापक समर्थन और एक सक्रिय डेवलपर समुदाय के साथ एक अच्छी वेब प्रोग्रामिंग भाषा है और यह तेजी से चलना के लिए अच्छा है। पीएचपी एक गतिशील रूप से टाइप की गई / व्याख्या की गई भाषा है।
मेम्कैश
मेम्कैश एक मेमोरी कैशिंग सिस्टम है जिसका उपयोग रैम को पढ़ने के समय को कम करने के लिए डेटा और ऑब्जेक्ट्स को कैशिंग करके गतिशील डेटाबेस-संचालित वेबसाइटों (जैसे फेसबुक) को गति देने के लिए किया जाता है। मेमाचेस फेसबुक का प्राथमिक रूप से कैशिंग है और डेटाबेस लोड को कम करने में मदद करता है।
कैशिंग सिस्टम होने से फेसबुक आपके डेटा को वापस बुलाने में उतना ही तेज़ है। अगर यह डेटाबेस में नहीं जाता है तो यह आपके डेटा को आपके उपयोगकर्ता आईडी के आधार पर कैश से प्राप्त करेगा।
LAMP का उपयोग करने के लिए डाउनसाइड करता है
फेसबुक ने महसूस किया है कि LAMP स्टैक का उपयोग करने के लिए डाउनसाइड हैं। विशेष रूप से, PHP आवश्यक रूप से बड़ी वेबसाइटों के लिए अनुकूलित नहीं है और इसलिए बड़े पैमाने पर कठिन है। इसके अलावा, यह सबसे तेज़ निष्पादन वाली भाषा नहीं है और एक्सटेंशन फ्रेमवर्क का उपयोग करना मुश्किल है।
माइक श्रोएफ़र, फेसबुक के वाइस प्रेसिडेंट ऑफ़ इंजीनियरिंग, ने हाल ही में एक साक्षात्कार किया EmTech @ एमआईटी इस विषय में। "किसी भी वेबसाइट को स्केल करना एक चुनौती है," श्रोएफ़र ने कहा, "लेकिन एक सामाजिक नेटवर्क को स्केल करने में अद्वितीय चुनौतियां हैं।"
उन्होंने कहा कि अन्य वेबसाइटों के विपरीत, आप समस्या को हल करने के लिए केवल अधिक सर्वर नहीं जोड़ सकते फेसबुक के "विशाल परस्पर जुड़े डेटासेट" उपयोगकर्ता गतिविधि के कारण हर समय नए कनेक्शन बनाए जाते हैं।
फेसबुक इतनी तेज़ी से विकसित हुआ है कि वे अक्सर डेटाबेस प्रश्नों, कैशिंग और डेटा के भंडारण से संबंधित मुद्दों का सामना करते हैं। उनका डेटाबेस बहुत बड़ा है और काफी हद तक जटिल. इसके लिए फेसबुक ने बहुत सारे ओपन सोर्स प्रोजेक्ट और बैकएंड सेवाएं शुरू की हैं।
फेसबुक कैसे काम करता है? ”“ बैक एंड
फेसबुक की बैकएंड सेवाएं विभिन्न प्रोग्रामिंग भाषाओं में C ++, जावा, पायथन और एर्लांग सहित विभिन्न प्रकार की भाषाओं में लिखी गई हैं। सेवाओं के निर्माण के लिए उनका दर्शन इस प्रकार है:
1. एक सेवा बनाएँ अगर जरुरत हो
2. सेवाओं के आसान निर्माण के लिए एक फ्रेमवर्क / टूलसेट बनाएं
3. कार्य के लिए सही प्रोग्रामिंग भाषा का उपयोग करें
फेसबुक के सभी खुले स्रोत के विकास की एक सूची यहां पाई जा सकती है। मैं फेसबुक द्वारा विकसित किए गए कुछ आवश्यक उपकरणों पर चर्चा करूंगा।
थ्रिफ्ट (प्रोटोकॉल)
किफ़ायत स्केलेबल क्रॉस-भाषा सेवाओं के विकास के लिए एक हल्के दूरस्थ प्रक्रिया कॉल फ्रेमवर्क है। थ्रिफ्ट C ++, PHP, Python, Perl, Java, Ruby, Erlang, और अन्य का समर्थन करता है। यह त्वरित, विकास के समय को बचाता है, और उच्च-प्रदर्शन सर्वर और अनुप्रयोगों पर काम के श्रम का विभाजन प्रदान करता है।
लिखें (लॉग सर्वर)
मुंशी कई अन्य सर्वरों से वास्तविक समय में लॉग्ड डेटा एकत्र करने के लिए एक सर्वर है। यह डेटा की एक विस्तृत सरणी को लॉग करने के लिए उपयोगी एक स्केलेबल फ्रेमवर्क है। इसे थ्रिफ्ट के ऊपर बनाया गया है।
कैसंड्रा (डेटाबेस)
कैसेंड्रा एक डेटाबेस प्रबंधन प्रणाली है जो कई सर्वरों में फैले बड़ी मात्रा में डेटा को संभालने के लिए डिज़ाइन की गई है। यह फेसबुक के इनबॉक्स सर्च फीचर को पावर करता है और आखिरकार स्थिरता के साथ एक संरचित की-वैल्यू स्टोर प्रदान करता है।
PHP के लिए हिपहॉप
PHP के लिए हिपहॉप PHP स्क्रिप्ट कोड के लिए एक स्रोत कोड ट्रांसफार्मर है और सर्वर संसाधनों को बचाने के लिए बनाया गया था। हिपहॉप PHP स्रोत कोड को अनुकूलित C ++ में रूपांतरित करता है। ऐसा करने के बाद, यह मशीन कोड को संकलित करने के लिए g ++ का उपयोग करता है।
निष्कर्ष
संक्षेप में, वह फेसबुक है। यह लेख आसानी से 37 पेज लंबा हो सकता है अगर मैं अधिक विस्तार में जाऊं, लेकिन इस सवाल का जवाब देने के लिए कि "फेसबुक कैसे काम करता है?" मुझे लगता है कि यह पर्याप्त होगा। यदि आप सभी सुविधाओं और नवाचारों को देखते हैं, तो फेसबुक के पीछे मुख्य विचार वास्तव में बहुत ही बुनियादी है "" लोगों को जोड़े रखना। फेसबुक सामाजिक नेटवर्किंग की शक्ति का एहसास करता है और व्यवसाय में अपनी सेवा को सर्वश्रेष्ठ रखने के लिए लगातार नवाचार कर रहा है।
क्या आपको यह लेख उपयोगी लगा? अपने विचारों, टिप्पणियों और विचारों को नीचे छोड़ दें!
VaynerMedia के एक कम्युनिटी मैनेजर स्टीव को सोशल मीडिया और ब्रांड बिल्डिंग का शौक है।