किसी भी स्केलेबल वितरित प्लेटफॉर्म को चलाने के लिए विश्वसनीयता के प्रति प्रतिबद्धता की आवश्यकता होती है, ताकि यह सुनिश्चित किया जा सके कि ग्राहकों के पास वह है जो उन्हें जरूरत पड़ने पर चाहिए। निर्भरता बल्कि जटिल हो सकती है, विशेष रूप से Roblox जैसे बड़े प्लेटफॉर्म के साथ। विश्वसनीय सेवाओं के निर्माण का अर्थ है कि, जटिलता और निर्भरता की स्थिति की परवाह किए बिना, किसी भी सेवा को बाधित नहीं किया जाएगा (अर्थात अत्यधिक उपलब्ध), बग-मुक्त (यानी उच्च .) संचालित करेगा गुणवत्ता) और त्रुटियों के बिना (यानी दोष सहिष्णुता).
विश्वसनीयता क्यों मायने रखती है
हमारी खाता पहचान टीम उच्च विश्वसनीयता तक पहुंचने के लिए प्रतिबद्ध है, क्योंकि हमने जो अनुपालन सेवाएं बनाई हैं, वे मंच के मुख्य घटक हैं। टूटे हुए अनुपालन के गंभीर परिणाम हो सकते हैं। Roblox के प्राकृतिक संचालन को अवरुद्ध करने की लागत बहुत अधिक है, विफलता और कमजोर उपयोगकर्ता अनुभव के बाद पुनर्प्राप्त करने के लिए आवश्यक अतिरिक्त संसाधनों के साथ।
विश्वसनीयता के लिए विशिष्ट दृष्टिकोण मुख्य रूप से उपलब्धता पर केंद्रित है, लेकिन कुछ मामलों में शब्दों को मिश्रित और दुरुपयोग किया जाता है। उपलब्धता के लिए अधिकांश माप केवल यह आकलन करते हैं कि क्या सेवाएं चल रही हैं और चल रही हैं, जबकि विभाजन सहिष्णुता और स्थिरता जैसे पहलुओं को कभी-कभी भुला दिया जाता है या गलत समझा जाता है।
सीएपी प्रमेय के अनुसार, कोई भी वितरित प्रणाली इन तीन पहलुओं में से केवल दो की गारंटी दे सकती है, इसलिए हमारी अनुपालन सेवाएं अत्यधिक उपलब्ध और विभाजन-सहिष्णु होने के लिए कुछ स्थिरता का त्याग करती हैं। फिर भी, हमारी सेवाओं ने थोड़ा त्याग किया और नीचे बताए गए उचित वास्तु परिवर्तनों के साथ अच्छी स्थिरता प्राप्त करने के लिए तंत्र पाया।
उच्च विश्वसनीयता तक पहुंचने की प्रक्रिया पुनरावृत्त है, जिसमें घटनाओं के होने से पहले दोषों को रोकने, खोजने, पता लगाने और उन्हें ठीक करने के लिए निरंतर काम से मेल खाने वाले कड़े माप होते हैं। हमारी टीम ने निम्नलिखित प्रथाओं में मजबूत मूल्य की पहचान की:
- सही माप - ग्राहकों को गुणवत्ता कैसे प्रदान की जाती है और निर्भरता हमें गुणवत्ता कैसे प्रदान करती है, इसके बारे में पूर्ण अवलोकन क्षमता बनाएं।
- सक्रिय प्रत्याशा - आर्किटेक्चरल रिव्यू और डिपेंडेंसी रिस्क असेसमेंट जैसी गतिविधियां करें।
- सुधार को प्राथमिकता दें - हमारी सेवा से जुड़ी सेवा और निर्भरता के लिए घटना रिपोर्ट समाधान पर अधिक ध्यान दें।
उच्च विश्वसनीयता का निर्माण गुणवत्ता की संस्कृति की मांग करता है। हमारी टीम पहले से ही प्रदर्शन-संचालित विकास में निवेश कर रही थी और जानती है कि किसी प्रक्रिया की सफलता उसके अपनाने पर निर्भर करती है। टीम ने इस प्रक्रिया को पूर्ण रूप से अपनाया और प्रथाओं को एक मानक के रूप में लागू किया। निम्नलिखित आरेख प्रक्रिया के घटकों पर प्रकाश डालता है:
सही माप की शक्ति
मेट्रिक्स में गहराई से जाने से पहले, सेवा स्तर मापन के संबंध में एक त्वरित स्पष्टीकरण देना होगा।
- SLO (सेवा स्तर उद्देश्य) विश्वसनीयता का उद्देश्य है जिसके लिए हमारी टीम का लक्ष्य है (अर्थात 99.999%)।
- SLI (सर्विस लेवल इंडिकेटर) एक समय सीमा (यानी पिछले फरवरी में 99.975%) दी गई विश्वसनीयता है।
- SLA (सर्विस लेवल एग्रीमेंट) एक निश्चित समय सीमा (यानी 99.99% प्रति सप्ताह) पर हमारे उपभोक्ताओं द्वारा वितरित और अपेक्षित होने के लिए सहमत विश्वसनीयता है।
एसएलआई को उपलब्धता (कोई अप्रबंधित या अनुपलब्ध प्रतिक्रिया), विफलता सहनशीलता (कोई सेवा त्रुटि नहीं) और प्राप्त गुणवत्ता (कोई अप्रत्याशित त्रुटि नहीं) को प्रतिबिंबित करना चाहिए। इसलिए, हमने अपने एसएलआई को किसी सेवा को भेजे गए कुल अनुरोधों की तुलना में सफल प्रतिक्रियाओं के "सफलता अनुपात" के रूप में परिभाषित किया है। सफल प्रतिक्रियाएं वे अनुरोध हैं जो समय और रूप में भेजे गए थे, जिसका अर्थ है नहीं कनेक्टिविटी, सेवा या अप्रत्याशित त्रुटियां हुईं।
यह एसएलआई या सफलता अनुपात उपभोक्ताओं के दृष्टिकोण (यानी, ग्राहकों) से एकत्र किया जाता है। इरादा हमारे उपभोक्ताओं को दिए गए वास्तविक एंड-टू-एंड अनुभव को मापने का है ताकि हमें विश्वास हो कि एसएलए मिले हैं। ऐसा नहीं करने से विश्वसनीयता की झूठी भावना पैदा होगी जो हमारे ग्राहकों से जुड़ने के लिए सभी बुनियादी ढांचे की चिंताओं को अनदेखा करती है। उपभोक्ता एसएलआई के समान, हम किसी भी संभावित जोखिम को ट्रैक करने के लिए निर्भरता एसएलआई एकत्र करते हैं। व्यवहार में, सभी निर्भरता SLA को सेवा SLA के साथ संरेखित करना चाहिए और उनके साथ प्रत्यक्ष निर्भरता है। एक की विफलता का अर्थ है सभी की विफलता। हम सेवा से ही मेट्रिक्स को ट्रैक और रिपोर्ट भी करते हैं (यानी, सर्वर) लेकिन यह उच्च विश्वसनीयता के लिए व्यावहारिक स्रोत नहीं है।
एसएलआई के अलावा, प्रत्येक बिल्ड गुणवत्ता मीट्रिक एकत्र करता है जो हमारे सीआई वर्कफ़्लो द्वारा रिपोर्ट की जाती है। यह अभ्यास गुणवत्ता गेट्स (यानी, कोड कवरेज) को दृढ़ता से लागू करने में मदद करता है और अन्य सार्थक मीट्रिक की रिपोर्ट करता है, जैसे कोडिंग मानक अनुपालन और स्थिर कोड विश्लेषण। यह विषय पहले एक अन्य लेख में शामिल किया गया था, प्रदर्शन द्वारा संचालित माइक्रोसर्विसेज का निर्माण. विश्वसनीयता के बारे में बात करते समय गुणवत्ता का परिश्रमी पालन बढ़ जाता है, क्योंकि जितना अधिक हम उत्कृष्ट स्कोर तक पहुंचने में निवेश करते हैं, उतना ही अधिक विश्वास होता है कि प्रतिकूल परिस्थितियों के दौरान सिस्टम विफल नहीं होगा।
हमारी टीम के पास दो डैशबोर्ड हैं। एक उपभोक्ता एसएलआई और निर्भरता एसएलआई दोनों में सभी दृश्यता प्रदान करता है। दूसरा सभी गुणवत्ता मीट्रिक दिखाता है। हम सब कुछ को एक डैशबोर्ड में मर्ज करने पर काम कर रहे हैं, ताकि हम जिन पहलुओं की परवाह करते हैं वे समेकित हों और किसी भी समय सीमा में रिपोर्ट करने के लिए तैयार हों।
विफलता की आशा करें
करते हुए स्थापत्य समीक्षा विश्वसनीय होने का एक मूलभूत हिस्सा है। सबसे पहले, हम यह निर्धारित करते हैं कि क्या अतिरेक मौजूद है और यदि निर्भरता कम होने पर सेवा के पास जीवित रहने का साधन है। विशिष्ट प्रतिकृति विचारों से परे, हमारी अधिकांश सेवाओं ने बेहतर दोहरी कैश हाइड्रेशन तकनीकों, दोहरी पुनर्प्राप्ति रणनीतियों (जैसे फ़ेलओवर स्थानीय कतार), या डेटा हानि रणनीतियों (जैसे लेनदेन संबंधी समर्थन) को लागू किया। ये विषय एक और ब्लॉग प्रविष्टि की गारंटी देने के लिए पर्याप्त व्यापक हैं, लेकिन अंततः सबसे अच्छी सिफारिश उन विचारों को लागू करना है जो आपदा परिदृश्यों पर विचार करते हैं और किसी भी प्रदर्शन दंड को कम करते हैं।
अनुमान लगाने का एक अन्य महत्वपूर्ण पहलू कुछ भी है जो कनेक्टिविटी में सुधार कर सकता है। इसका मतलब है कि ग्राहकों के लिए कम विलंबता के बारे में आक्रामक होना और कैश-कंट्रोल तकनीकों, साइडकार्स और टाइमआउट, सर्किट ब्रेकर और रीट्रीज़ के लिए प्रदर्शनकारी नीतियों का उपयोग करके उन्हें बहुत अधिक ट्रैफ़िक के लिए तैयार करना। ये प्रथाएं HTTP और gRPC में कैश, स्टोर, क्यू और अन्योन्याश्रित क्लाइंट सहित किसी भी क्लाइंट पर लागू होती हैं। इसका अर्थ सेवाओं से स्वस्थ संकेतों में सुधार करना और यह समझना भी है कि स्वास्थ्य जांच सभी कंटेनर ऑर्केस्ट्रेशन में महत्वपूर्ण भूमिका निभाती है। हमारी अधिकांश सेवाएं स्वास्थ्य जांच प्रतिक्रिया के हिस्से के रूप में गिरावट के लिए बेहतर संकेत देती हैं और सत्यापित करती हैं कि स्वस्थ संकेत भेजने से पहले सभी महत्वपूर्ण घटक कार्य कर रहे हैं।
सेवाओं को महत्वपूर्ण और गैर-महत्वपूर्ण टुकड़ों में तोड़ना उस कार्यक्षमता पर ध्यान केंद्रित करने के लिए उपयोगी साबित हुआ है जो सबसे अधिक मायने रखती है। हमारे पास एक ही सेवा में केवल-व्यवस्थापक समापन बिंदु हुआ करते थे, और जबकि उनका अक्सर उपयोग नहीं किया जाता था, वे समग्र विलंबता मीट्रिक को प्रभावित करते थे। उन्हें अपनी स्वयं की सेवा में ले जाने से प्रत्येक मीट्रिक को सकारात्मक दिशा में प्रभावित किया।
निर्भरता जोखिम मूल्यांकन निर्भरता के साथ संभावित समस्याओं की पहचान करने के लिए एक महत्वपूर्ण उपकरण है। इसका मतलब है कि हम कम एसएलआई के साथ निर्भरता की पहचान करते हैं और एसएलए संरेखण के लिए कहते हैं। एकीकरण चरणों के दौरान उन निर्भरताओं पर विशेष ध्यान देने की आवश्यकता होती है, इसलिए हम बेंचमार्क और परीक्षण के लिए अतिरिक्त समय देते हैं कि क्या नई निर्भरताएँ हमारी योजनाओं के लिए पर्याप्त परिपक्व हैं। एक अच्छा उदाहरण रोबोक्स स्टोरेज-एज़-ए-सर्विस के लिए प्रारंभिक स्वीकृति है। इस सेवा के साथ एकीकरण के लिए निष्कर्षों और प्रतिक्रिया को संप्रेषित करने के लिए बग टिकट और आवधिक सिंक मीटिंग दर्ज करना आवश्यक है। यह सब काम "विश्वसनीयता" टैग का उपयोग करता है ताकि हम इसके स्रोत और प्राथमिकताओं को जल्दी से पहचान सकें। चरित्र-चित्रण अक्सर तब तक होता था जब तक हमें यह विश्वास नहीं हो जाता था कि नई निर्भरता हमारे लिए तैयार है। इस अतिरिक्त कार्य ने निर्भरता को विश्वसनीयता के आवश्यक स्तर तक खींचने में मदद की, जिसकी हम एक सामान्य लक्ष्य के लिए एक साथ अभिनय करने की उम्मीद करते हैं।
अराजकता के लिए संरचना लाओ
घटनाएं होना कभी भी वांछनीय नहीं है। लेकिन जब वे होते हैं, तो अधिक विश्वसनीय होने के लिए सार्थक जानकारी एकत्र करने और सीखने के लिए होती है। हमारी टीम के पास एक टीम घटना रिपोर्ट है जो विशिष्ट कंपनी-व्यापी रिपोर्ट के ऊपर और बाहर बनाई गई है, इसलिए हम सभी घटनाओं पर ध्यान केंद्रित करते हैं, भले ही उनके प्रभाव का स्तर कुछ भी हो। हम मूल कारण बताते हैं और भविष्य में इसे कम करने के लिए सभी कार्यों को प्राथमिकता देते हैं। इस रिपोर्ट के हिस्से के रूप में, हम अन्य टीमों को उच्च प्राथमिकता के साथ निर्भरता की घटनाओं को ठीक करने, उचित समाधान के साथ अनुवर्ती कार्रवाई करने, पूर्व-निरीक्षण करने और उन पैटर्नों की तलाश करने के लिए कहते हैं जो हम पर लागू हो सकते हैं।
टीम एक का उत्पादन करती है प्रति सेवा मासिक विश्वसनीयता रिपोर्ट जिसमें यहां बताए गए सभी एसएलआई, विश्वसनीयता के कारण हमारे द्वारा खोले गए टिकट और सेवा से जुड़ी कोई भी संभावित घटना शामिल है। हम इन रिपोर्टों को बनाने के इतने अभ्यस्त हैं कि अगला प्राकृतिक कदम उनके निष्कर्षण को स्वचालित करना है। इस आवधिक गतिविधि को करना महत्वपूर्ण है, और यह एक अनुस्मारक है कि हमारे विकास में विश्वसनीयता पर लगातार नज़र रखी जा रही है और उस पर विचार किया जा रहा है।
हमारे इंस्ट्रूमेंटेशन में कस्टम मेट्रिक्स और बेहतर अलर्ट शामिल हैं ताकि ज्ञात और अपेक्षित समस्याएं होने पर हमें जल्द से जल्द पेज किया जा सके। झूठी सकारात्मक सहित सभी चेतावनियों की हर सप्ताह समीक्षा की जाती है। इस बिंदु पर, सभी दस्तावेज़ों को पॉलिश करना महत्वपूर्ण है ताकि हमारे उपभोक्ताओं को पता चले कि अलर्ट ट्रिगर होने पर और त्रुटियों के होने पर क्या उम्मीद करनी चाहिए, और फिर हर कोई जानता है कि क्या करना है (उदाहरण के लिए, प्लेबुक और एकीकरण दिशानिर्देश गठबंधन और अक्सर अपडेट किए जाते हैं)।
अंत में, उच्च विश्वसनीयता तक पहुंचने के लिए हमारी संस्कृति में गुणवत्ता को अपनाना सबसे महत्वपूर्ण और निर्णायक कारक है. हम देख सकते हैं कि हमारे दिन-प्रतिदिन के काम पर लागू ये प्रथाएं पहले से ही भुगतान कर रही हैं। हमारी टीम विश्वसनीयता से ग्रस्त है और यह हमारी सबसे महत्वपूर्ण उपलब्धि है। हमने संभावित दोषों के प्रभाव के बारे में अपनी जागरूकता बढ़ाई है और उन्हें कब पेश किया जा सकता है। इन प्रथाओं को लागू करने वाली सेवाएं लगातार अपने एसएलओ और एसएलए तक पहुंच गई हैं। विश्वसनीयता रिपोर्टें जो हमारे द्वारा किए जा रहे सभी कार्यों को ट्रैक करने में हमारी सहायता करती हैं, हमारी टीम द्वारा किए गए कार्य के लिए एक वसीयतनामा हैं, और अन्य टीमों को सूचित करने और प्रभावित करने के लिए अमूल्य सबक हैं। इस तरह से विश्वसनीयता संस्कृति हमारे मंच के सभी घटकों को छूती है।
उच्च विश्वसनीयता की राह आसान नहीं है, लेकिन यह आवश्यक है यदि आप एक विश्वसनीय मंच का निर्माण करना चाहते हैं जो लोगों के एक साथ आने की पुनर्कल्पना करता है।
अल्बर्टो Roblox में अकाउंट आइडेंटिटी टीम में प्रिंसिपल सॉफ्टवेयर इंजीनियर हैं। वह लंबे समय से खेल उद्योग में रहा है, कई एएए गेम खिताब और सोशल मीडिया प्लेटफॉर्म पर अत्यधिक स्केलेबल आर्किटेक्चर पर एक मजबूत फोकस के साथ क्रेडिट के साथ। अब वह सर्वोत्तम विकास प्रथाओं को लागू करके Roblox को विकास और परिपक्वता तक पहुँचने में मदद कर रहा है।
पोस्ट बड़े पैमाने पर प्लेटफ़ॉर्म विश्वसनीयता प्रदान करना पर पहली बार दिखाई दिया रोबोक्स ब्लॉग.
- "
- a
- About
- लेखा
- पाना
- हासिल
- गतिविधियों
- गतिविधि
- इसके अलावा
- अतिरिक्त
- दत्तक ग्रहण
- विपरीत
- समझौता
- सब
- पहले ही
- विश्लेषण
- अन्य
- की आशा
- लागू
- लागू करें
- लागू
- दृष्टिकोण
- वास्तु
- चारों ओर
- लेख
- जुड़े
- ध्यान
- को स्वचालित रूप से
- उपलब्धता
- उपलब्ध
- जागरूकता
- क्योंकि
- से पहले
- जा रहा है
- नीचे
- बेंचमार्क
- BEST
- परे
- ब्लॉग
- लाना
- दोष
- निर्माण
- कॉल
- कौन
- मामलों
- कारण
- जाँचता
- ग्राहकों
- कोड
- कोडन
- इकट्ठा
- कैसे
- करना
- प्रतिबद्धता
- प्रतिबद्ध
- सामान्य
- संवाद
- तुलना
- अनुपालन
- घटकों
- स्थितियां
- आत्मविश्वास
- आश्वस्त
- जुडिये
- कनेक्टिविटी
- विचार करना
- निरंतर
- उपभोक्ता
- उपभोक्ताओं
- कंटेनर
- मूल
- सका
- बनाना
- बनाया
- क्रेडिट्स
- महत्वपूर्ण
- संस्कृति
- रिवाज
- ग्राहक
- डैशबोर्ड
- तिथि
- और गहरा
- दिया गया
- पहुंचाने
- बचाता है
- मांग
- निर्भर करता है
- निर्धारित करना
- विकास
- प्रत्यक्ष
- आपदा
- वितरित
- नीचे
- संचालित
- दौरान
- शीघ्र
- शुरू से अंत तक
- इंजीनियर
- विशेष रूप से
- हर कोई
- सब कुछ
- उदाहरण
- उत्कृष्ट
- उम्मीद
- अपेक्षित
- अनुभव
- व्यापक
- विफलता
- प्रतिक्रिया
- प्रथम
- फिक्स
- फोकस
- केंद्रित
- ध्यान केंद्रित
- का पालन करें
- निम्नलिखित
- प्रपत्र
- पाया
- से
- पूर्ण
- कार्यात्मक
- कार्यक्षमता
- मौलिक
- भविष्य
- खेल
- गेट्स
- सृजन
- लक्ष्य
- अच्छा
- विकास
- गारंटी
- दिशा निर्देशों
- होना
- हुआ
- स्वास्थ्य
- मदद
- मदद
- मदद करता है
- यहाँ उत्पन्न करें
- हाई
- उच्चतर
- हाइलाइट
- अत्यधिक
- कैसे
- HTTPS
- विचारों
- पहचान करना
- पहचान
- प्रभाव
- लागू करने के
- कार्यान्वित
- महत्वपूर्ण
- में सुधार
- उन्नत
- में सुधार लाने
- अन्य में
- शामिल
- सहित
- वृद्धि हुई
- उद्योग
- प्रभाव
- करें-
- इंफ्रास्ट्रक्चर
- एकीकरण
- इरादा
- निवेश करना
- IT
- खुद
- जानना
- जानने वाला
- जानें
- स्तर
- थोड़ा
- स्थानीय
- लंबा
- देखिए
- बनाना
- मिलान
- मैटर्स
- परिपक्व
- परिपक्वता
- अर्थ
- सार्थक
- साधन
- माप
- मीडिया
- बैठकों
- मेट्रिक्स
- मिश्रित
- अधिक
- अधिकांश
- चलती
- प्राकृतिक
- आवश्यक
- फिर भी
- संचालित
- आपरेशन
- आर्केस्ट्रा
- आदेश
- अन्य
- कुल
- अपना
- भाग
- स्टाफ़
- प्रदर्शन
- टुकड़े
- योजनाओं
- मंच
- प्लेटफार्म
- प्ले
- बिन्दु
- पॉइंट ऑफ व्यू
- नीतियाँ
- सकारात्मक
- संभव
- संभावित
- बिजली
- अभ्यास
- वर्तमान
- प्रिंसिपल
- प्राथमिकता
- समस्याओं
- प्रक्रिया
- गुणवत्ता
- त्वरित
- जल्दी से
- पहुंच
- उचित
- की वसूली
- वसूली
- प्रतिबिंबित
- के बारे में
- विश्वसनीय
- रिपोर्ट
- रिपोर्ट
- अनुरोधों
- अपेक्षित
- उपयुक्त संसाधन चुनें
- समीक्षा
- जोखिम
- सड़क
- Roblox
- भूमिका
- जड़
- दौड़ना
- वही
- स्केलेबल
- स्केल
- भावना
- सेवा
- सेवाएँ
- समान
- के बाद से
- एक
- So
- सोशल मीडिया
- सोशल मीडिया
- सामाजिक मीडिया प्लेटफॉर्म
- सॉफ्टवेयर
- सॉफ्टवेयर इंजीनियर
- कुछ
- विशेष
- स्टैंड
- मानक
- स्थिति
- भंडार
- रणनीतियों
- मजबूत
- सफलता
- सफल
- समर्थन
- प्रणाली
- में बात कर
- टीम
- तकनीक
- शर्तों
- परीक्षण
- RSI
- इसलिये
- तीन
- टिकट
- पहर
- समय-सीमा
- एक साथ
- सहिष्णुता
- साधन
- विषय
- विषय
- ट्रैक
- यातायात
- समझ
- us
- मूल्य
- सत्यापित
- देखें
- दृश्यता
- सप्ताह
- क्या
- या
- जब
- बिना
- काम
- काम कर रहे
- होगा