Microservice में, यह एकल डेटाबेस या प्रत्येक सेवा के लिए एकल डेटाबेस उदाहरण है?


50

मैं समझता हूं कि एक माइक्रो सर्विस आर्किटेक्चर में प्रत्येक सेवा का अपना डेटाबेस होना चाहिए। हालाँकि, इसका अपना डेटाबेस होने से, क्या वास्तव में इसका मतलब है कि एक ही डेटाबेस उदाहरण के भीतर एक अन्य डेटाबेस है या शाब्दिक रूप से एक और डेटाबेस उदाहरण है?

इसके द्वारा, मेरा मतलब डेटाबेस के बंटवारे से नहीं है, जो कि एक नहीं, बल्कि डेटाबेस का उदाहरण है।

उदाहरण के लिए, यदि मैं एडब्ल्यूएस का उपयोग कर रहा था और 3 सेवाएं हैं, तो क्या मैं प्रत्येक सेवा के लिए एक आरडीएस उदाहरण पर 3 डेटाबेस बनाता हूं या क्या मैं प्रत्येक डेटाबेस में 3 आरडीएस इंस्टेंसेस बना रहा हूं जिसमें प्रत्येक 3 सेवाओं में से प्रत्येक स्वतंत्र रूप से उपयोग किया जाता है?

यदि एक ही आरडीएस उदाहरण पर कई डेटाबेस का उपयोग करना एक बेहतर विचार है, तो क्या इसके लिए स्वतंत्र सेवाओं के उद्देश्य को पराजित किया जाएगा:

  1. RDS इंस्टेंस का संसाधन सेवाओं के बीच साझा किया जाएगा। क्या सेवा A जो किसी विशेष समय प्रभाव B पर भारी डेटाबेस उपयोग हो सकता है सेवा B जो एक अलग डेटाबेस का उपयोग करता है लेकिन एक ही RDS उदाहरण पर?

  2. सभी सेवाएँ उस RDS उदाहरण पर डेटाबेस संस्करण पर निर्भर होंगी।


8
यह वह है जो आपके विशिष्ट अनुरोधों को पूरा करता है।
रॉबर्ट हार्वे

1
मुझे यकीन नहीं है कि मैं खुद को 'माइक्रोसर्विस' का विशेषज्ञ कहूंगा, लेकिन आपके पास सेटअप और डीबीएस का कोई भी तरीका हो सकता है। आपके पास एक डीबी हो सकता है जिसे एक सेवा द्वारा पढ़ा जाता है और दूसरे द्वारा लिखा जाता है। या वैकल्पिक रूप से आपके पास पूरे सिस्टम के लिए केवल 1 डीबी (या कम तकनीकी रूप से) हो सकता है।
मार्क रोजर्स

: यहाँ इस मामले पर एक अच्छा पढ़ा है plainoldobjects.com/2015/09/02/...
RandomUs1r

'सिंगल रिस्पॉन्सिबिलिटी प्रिंसिपल' के बारे में पढ़ें। क्या आपने एक 'डेटाबेस माइक्रोसर्विस' को लागू करने के बारे में सोचा है जो अन्य माइक्रोसिस्टम्स उपयोग करते हैं?
च्च्कॉट्रिल

जवाबों:


20

यह वास्तव में आपकी स्केलेबिलिटी आवश्यकताओं पर निर्भर करता है, और यदि / या आपके माइक्रोसेवा इंस्टेंस को एकल परिणाम प्रदान करने के लिए सहयोग करने की आवश्यकता है। यह जानने में मदद करता है कि व्यापार-अप क्या हैं:

यह सब एक डेटाबेस में रखना

  • आसान विन्यास
  • आपकी सेवा के अन्य उदाहरणों के साथ कोई समन्वय या संचार की आवश्यकता नहीं है
  • अपने संपूर्ण डेटासेट की खोज करना आसान है
  • डेटाबेस प्रदर्शन द्वारा सीमित सिस्टम प्रदर्शन

डेटाबेस को अलग रखना

  • अनुरोध के लिए पूर्ण उत्तर को माइक्रोसिस्ट सेवा के उदाहरणों में फैलाया जा सकता है
  • उस मामले में आपने अनुरोध को हल करने के लिए संचार और बातचीत बढ़ाई है
  • जब आप उस माइक्रो-सर्विस नोड को ढीला करते हैं, तब भी डेटा को संभालना (डेटाबेस के उठने पर भी, आप इसे तब तक प्राप्त नहीं कर सकते, जब तक कि सही कॉन्फ़िगरेशन वाला कोई नया बैकअप नहीं लिया जाता)
  • कॉन्फ़िगरेशन की जटिलता बढ़ गई

आप क्या समस्या हल कर रहे हैं?

कुछ मामलों में, आप केवल पंचांग डेटा के बारे में चिंतित हैं। यदि डेटाबेस नीचे चला जाता है, तो यह कोई बड़ी बात नहीं है। उन मामलों में आपको शुरू करने के लिए डेटाबेस की भी आवश्यकता नहीं हो सकती है। बस इसे सभी याद में रखें और चीजों को धधकते हुए तेज करें। यह काम करने का सबसे आसान उपाय है।

अन्य मामलों में, आपको डेटा अखंडता की आवश्यकता होती है, लेकिन आपका डेटाबेस इसकी नोड्स की संख्या के आधार पर इसकी क्षमता का विस्तार करने में सक्षम है। इस मामले में, एक एकल डेटाबेस शायद पर्याप्त से अधिक है, और इसे स्वतंत्र रूप से प्रबंधित करना सही उत्तर है।

बीच में कई मामले हैं। उदाहरण के लिए, आपके पास ऐसे डेटाबेस हो सकते हैं जो क्षेत्रीय रूप से विशिष्ट हैं, इसलिए आपकी सेवा के प्रत्येक उदाहरण के लिए एक अलग क्षेत्र में आपके पास एक अलग डेटाबेस है। आमतौर पर शार्डिंग डेटाबेस पूरे क्षेत्र में अच्छा नहीं करते हैं, इसलिए यह डेटा को थोड़ा स्थानीय बनाने और अपने आप में समन्वय को नियंत्रित करने का एक तरीका है।

सिद्धांत और वास्तविकता

मैंने माइक्रोसर्विस के बारे में कई लेख पढ़े हैं और वे कितने मॉड्यूलर होने चाहिए। सिफारिशें पूरे उदाहरण के लिए डेटाबेस और / या फ्रंट-एंड कोड को साझा करने के लिए एक पूरी इकाई के रूप में सामने के छोर, माइक्रोसिस्ट, और डेटा स्तरीय रखने से लेकर हैं। आमतौर पर, अधिक अलगाव सबसे बड़ी मापनीयता प्रदान करता है, लेकिन यह बढ़ी हुई जटिलता की कीमत पर आता है।

यदि आपका माइक्रोसर्विस भारी गणना करता है, तो यह आवश्यक है कि उन माइक्रोसर्विसेज स्केल की संख्या को अनुमति देने के लिए - डेटाबेस साझा करना या यहां तक ​​कि फ्रंट एंड कोड इस दृष्टिकोण को चोट या बाधा नहीं देता है।

वास्तविकता यह है कि आपकी परियोजना की विशिष्ट आवश्यकताओं को समय पर फैशन में काम पाने के लिए और आपके द्वारा मापी जा रही प्रणाली लोड को संभालने के लिए समझौता के एक अलग सेट की आवश्यकता होने वाली है (साथ ही थोड़ा और)। पूरी तरह से अलग-थलग मोर्चा, microsrervice, और डेटा टियर तीनों पर विचार करना उदात्त लक्ष्य है। आपके सिस्टम पर अधिक मांग, उस लक्ष्य के जितना करीब होने की संभावना होगी, उतनी ही अधिक होगी। हम सब नहीं हैं [insert name of highly successful web entity here], और वे बाहर शुरू नहीं किया, जहां वे अब हैं। कभी-कभी आपको केवल सही स्थिति से कम के साथ शुरुआत करने की आवश्यकता होती है, और इससे खुश रहें।


71

माना जाता है कि आपके पास कुछ सेवाएं हैं जो एक ही प्रकार के DB सिस्टम और संस्करण का उपयोग कर सकती हैं, यदि आप अलग-अलग डेटाबेस या db इंस्टेंस का उपयोग करते हैं तो यह एक ऐसा निर्णय है जिसे आपको डिज़ाइन समय पर बनाने की आवश्यकता नहीं होनी चाहिए। इसके बजाय, आपको परिनियोजन समय पर निर्णय लेने में सक्षम होना चाहिए, कुछ जिसे आप बस कॉन्फ़िगर कर सकते हैं। उस स्थान के अज्ञेय होने के लिए अपनी सेवाओं को डिज़ाइन करें जहां अन्य सेवाओं के डेटाबेस होस्ट किए गए हैं।

ऑपरेशन के दौरान, आप एक उदाहरण से शुरू कर सकते हैं, और यदि सिस्टम ठीक काम करता है, तो इसे इस तरह छोड़ दें। हालाँकि, यदि आप देखते हैं कि यह आपके सिस्टम के लिए अच्छा नहीं है, क्योंकि एक उदाहरण पर विभिन्न डेटाबेस बहुत सारे संसाधनों को साझा करते हैं, तो आपके पास हमेशा अलग-अलग उदाहरणों का उपयोग करने का विकल्प होता है, यदि यह मदद करता है।

इसलिए एक सेवा केवल इसलिए नहीं करती है कि आप माइक्रोसरवर्क आर्किटेक्चर का उल्लंघन करते हैं क्योंकि आप उनमें से दो को कुछ संसाधन साझा करने देते हैं - यह अनिवार्य है कि संसाधन को साझा करते समय इसका उल्लंघन किया जाए।


इस तरह की आवाज़ें समयपूर्व अनुकूलन की तरह होती हैं। क्या होगा अगर संसाधनों का सेवन कभी भी अतिरिक्त उदाहरणों का गुण नहीं करता है? फिर आप लचीलेपन में समय निर्माण को बर्बाद कर चुके हैं
रेगीगिटार

5
@reggaeguitar: इसके लिए लागत सामान्य रूप से नगण्य होनी चाहिए - वास्तव में, एक माइक्रोसैस आर्किटेक्चर के लिए, यह अलग-अलग सेवाओं के बीच डेटाबेस कॉन्फ़िगरेशन को केंद्रीकृत करने की कोशिश में अधिक प्रयास हो सकता है, प्रत्येक सेवा के लिए db स्थान को व्यक्तिगत रूप से विन्यास रखने से। इसके अलावा, एक microservice वास्तुकला का पूरा बिंदु उच्च मापनीयता है, अगर किसी को इसकी आवश्यकता नहीं है, तो पहली जगह में एक को माइक्रोसॉर्क्स के लिए निर्णय नहीं करना चाहिए।
डॉक ब्राउन

1
@DocBrown यह समझ में आता है, प्रतिक्रिया के लिए धन्यवाद!
रेगेगिटेर

13

इससे कोई फर्क नहीं पड़ता।

एकमात्र परिदृश्य जहां यह सैद्धांतिक रूप से बात कर सकता है, अगर एक सेवा को डेटाबेस के विभिन्न संस्करणों में माइग्रेट करना होगा। लेकिन फिर भी, शुरू से अलग प्रवासन के बीच कोई वास्तविक अंतर नहीं है। एक साझा उदाहरण से एक सेवा को एक दूसरे से अलग करने के लिए। मैं वास्तव में कहूंगा कि इस परिदृश्य के कारण केवल अलग उदाहरण होना YAGNI का एक उदाहरण है।


1
यह मानते हुए कि यदि किसी विशेष सेवा का एकल RDS उदाहरण पर भारी उपयोग होता है, तो क्या यह उस उदाहरण पर संसाधनों को खा जाएगा और उसी RDS उदाहरण का उपयोग करके अन्य सेवाओं को प्रभावित करेगा?
क्लेनन

1
@ एक्सनॉन: हाँ, लेकिन यह ट्यूनिंग, बेहतर हार्डवेयर या क्लस्टरिंग के माध्यम से आरडीएस प्रदर्शन को बेहतर बनाने के बारे में सोचने का एक कारण है, न कि आपके सिस्टम आर्किटेक्चर को बदलने के बारे में - यदि वह सेवा अन्य सेवाओं के लिए क्षमता छोड़ रही है, तो यह जल्द ही क्षमता से बाहर हो जाएगी सब अपने आप से। हालांकि मुझे लगता है कि आपके पास विशेष आवश्यकताएं हो सकती हैं जो एक अतिभारित सेवा को दूसरों को प्रभावित नहीं करना चाहिए। कुछ RDS वास्तव में अभी भी अनुमति दे सकते हैं कि एक उपयोगकर्ता उदाहरण के आधार पर संसाधन कैप को परिभाषित करके।
माइकल बोर्गवर्ड

परिदृश्य जहां यह मायने रखता है जब microservice उदाहरण की अपनी स्थिति है। फिर इसे अपने स्वयं के उदाहरण db के साथ तैनात किया जाना चाहिए , जो एक प्रदर्शन अड़चन भी हो सकता है
Ewan

3

एक आरडीएस उदाहरण एक एकल बॉक्स है। यदि आपके पास एक ही उदाहरण पर कई डेटाबेस हैं तो वे सीपीयू / मेमोरी आदि साझा करते हैं।

यदि आपका माइक्रोसॉर्फ़ का प्रदर्शन इसके डेटाबेस के प्रदर्शन से बंधा हुआ है : तो प्रत्येक से एक अलग डेटाबेस का उपयोग करते हुए, प्रत्येक माइक्रोसॉफ़्ट की कई प्रतियाँ तैनात करता है, लेकिन एक ही आरडीएस उदाहरण पर प्रत्येक डेटाबेस के साथ। व्यर्थ है * (असफलता को छोड़कर)। आपका माइक्रोसॉर्स्ट क्लस्टर सिंगल माइक्रो सर्विस के समान गति से चलेगा

हालाँकि , मैं कहूंगा कि एक माइक्रोसेवा जो डेटाबेस प्रदर्शन से बंधी है असामान्य है।

आमतौर पर आपके माइक्रोसॉर्ब को db से डेटा मिलेगा, कुछ लॉजिक निष्पादित करेंगे और कुछ जानकारी डेटाबेस पर वापस लिखेंगे। प्रदर्शन अड़चन तर्क है , चयन और / या सम्मिलित नहीं है।

इस मामले में आप बस अपने सभी माइक्रोसॉर्क्स उदाहरणों में एक ही डेटाबेस साझा कर सकते हैं


मुझे आपके दावे पर सवाल उठाना है कि तर्क डेटाबेस का नहीं, अड़चन है। मेरे अनुभव में, प्रदर्शन सुधार को खोजने के लिए सबसे अधिक संभावना स्थान डेटाबेस के साथ है।
रबरडुक

हम्म हाँ, लेकिन निश्चित रूप से उन लोगों के प्रदर्शन में सुधार तर्क ले जाकर हासिल कर रहे हैं बाहर डाटाबेस की और सेवा में। एक बार जब आप ऐसा कर लेते हैं, तो यह तर्क अड़चन है
इवान

1
आमतौर पर, नहीं। वे सुधार ट्यूनिंग इंडेक्स और क्वेरी से आते हैं।
रबरडक

ठीक है, जो मेरे अनुभव में असामान्य मामले के अंतर्गत आता है। ऐसा नहीं है कि आम तौर पर उन सुधारों के लिए जगह नहीं है, लेकिन किसी भी बहुत खराब सामान को हटाने के बाद डेटाबेस अभी भी सीमित कारक है।
इवान

1

डेटाबेस को किसी सेवा में निजी रखने का लक्ष्य एनकैप्सुलेशन है। आपका माइक्रोसॉर्स्क एक ब्लैक बॉक्स है जिसे सिस्टम में अन्य सेवाओं को एक सार्वजनिक इंटरफ़ेस के माध्यम से उपयोग किया जाएगा।

दो विमान हैं जिन पर यह एनकैप्सुलेशन संचालित होता है:

  • पहला आवेदन स्तर पर तार्किक है। आपकी सेवा आपके सिस्टम में कुछ व्यावसायिक वस्तुओं का मालिक है, और इसे इन वस्तुओं के बारे में स्थिति को बनाए रखने की आवश्यकता है। कि कुछ विशेष डेटाबेस इन व्यापारिक वस्तुओं को वापस लागू कर रहा है बस कार्यान्वयन विस्तार है। एक अलग डेटाबेस रखकर, आप अन्य सेवाओं को अपने कार्यान्वयन में पिछले दरवाजे तक पहुँचने से रोकते हैं, इसके बजाय उन्हें आपके सार्वजनिक इंटरफ़ेस का उपयोग करने के लिए मजबूर करते हैं। यहां का लक्ष्य स्वच्छ वास्तुकला और अनुशासित प्रोग्रामिंग है। जहां वास्तव में डेटाबेस रहता है, इस स्तर पर अप्रासंगिक है, जब तक कि आपकी सेवा में सही कनेक्शन विवरण होता है ताकि वह इसे पा सके।

  • दूसरा स्तर चालू है। यहां तक ​​कि अगर आपका डिजाइन एक आदर्श ब्लैक बॉक्स है, जैसा कि आप बताते हैं, एक मशीन पर अलग-अलग काम संसाधनों के लिए प्रतिस्पर्धा कर सकते हैं। अलग-अलग मशीनों पर अलग-अलग लॉजिकल डेटाबेस रखने का यह एक अच्छा कारण है। जैसा कि अन्य जवाबों ने उल्लेख किया है, यदि आपकी ज़रूरतें बहुत अधिक नहीं हैं और आपका बजट तंग है, तो यह एकल मशीन पर कॉलोकेशन के लिए एक व्यावहारिक तर्क है। हालाँकि, हमेशा की तरह, ट्रेडऑफ़्स: इस सेटअप को आपके सिस्टम के बढ़ने के साथ-साथ अधिक बच्चा सम्भालना पड़ सकता है। यदि बजट अनुमति देता है, तो मैं लगभग दो अलग-अलग छोटी मशीनों को पसंद करता हूं ताकि दो कार्यों को चलाने के लिए एक बड़ी मशीन साझा की जा सके।


1

मुझे लगता है कि यहां थोड़ा और सैद्धांतिक होने में मदद मिल सकती है। माइक्रोसर्विस के पीछे प्रेरक विचारों में से एक साझा-कुछ भी नहीं है, संदेश गुजरने की प्रक्रिया। एक्टर मॉडल में एक माइक्रोसेवक एक अभिनेता की तरह होता है। इसका अर्थ है कि प्रत्येक प्रक्रिया अपनी स्थानीय स्थिति को बनाए रखती है और एक प्रक्रिया के लिए दूसरे की स्थिति तक पहुंचने का एकमात्र तरीका संदेश भेजना है (और फिर भी अन्य प्रक्रिया उन संदेशों को पसंद करती है, लेकिन प्रतिक्रिया दे सकती है)। "हर माइक्रोसैस सर्विस का अपना डेटाबेस होता है" से तात्पर्य वास्तव में यह है कि एक प्रक्रिया की स्थिति (यानी माइक्रो सर्विस) स्थानीय और निजी है । काफी हद तक, यह सुझाव देता है कि "डेटाबेस" को ध्वस्त किया जाना चाहिएmicroservice के साथ, यानी "डेटाबेस" को संग्रहीत किया जाना चाहिए और उसी तार्किक नोड पर microservice के रूप में निष्पादित किया जाना चाहिए। माइक्रोसैस सर्विस के विभिन्न "उदाहरण" अलग-अलग प्रक्रियाएं हैं और इस प्रकार प्रत्येक का अपना "डेटाबेस" होना चाहिए।

एक वैश्विक डेटाबेस या माइक्रोसॉफ़्ट के बीच साझा किया गया एक डेटाबेस या यहाँ तक कि एक माइक्रोसेवा के उदाहरण भी, इस दृष्टिकोण से, साझा स्थिति का गठन करेंगे। माइक्रोसॉफ़्ट के नजरिए से इसे संभालने का "उचित" तरीका है "डेटाबेस" माइक्रोसिस्टवर्क द्वारा साझा किए गए डेटाबेस की मध्यस्थता। डेटाबेस की सामग्री के बारे में जानना चाहते थे, जो अन्य microservices उस "डेटाबेस microservice" के लिए संदेश भेज देंगे। यह आम तौर पर मूल microservices के लिए स्थानीय राज्य (यानी प्रति microservice उदाहरण "डेटाबेस") की आवश्यकता को समाप्त नहीं करेगा! वह परिवर्तन क्या है जो स्थानीय राज्य का प्रतिनिधित्व करता है। "उपयोगकर्ता सैली एक व्यवस्थापक है" को संग्रहीत करने के बजाय, यह "माइक्रोसेवल्स डेटाबेस डेटाबेस सेवा ने कहा कि स्टोर करेगा" उपयोगकर्ता सैली पांच मिनट पहले एक व्यवस्थापक है "। दूसरे शब्दों में, अन्य microservices की स्थिति के बारे में।

इसका लाभ यह है कि प्रत्येक माइक्रोसेवा स्वयं-निहित है। यह एक microservice विफलता की एक परमाणु इकाई बनाता है। आपको (अधिकतर) कुछ आंशिक रूप से कार्यात्मक अवस्था में एक माइक्रोसेवा के बारे में चिंता करने की आवश्यकता नहीं है। बेशक, समस्या को माइक्रोसेवा के नेटवर्क में स्थानांतरित कर दिया गया है। एक microservice अन्य microservices से संपर्क करने में असमर्थ होने के कारण वांछित कार्य करने में सक्षम होने में विफल हो सकता है। हालांकि, लाभ यह है कि माइक्रोसिस्ट सेवा एक अच्छी तरह से परिभाषित स्थिति में होगी और अच्छी तरह से अपमानित या सीमित सेवा की पेशकश करने में सक्षम हो सकती है, जैसे कि आउट-डेटेड मान्यताओं से काम करके। नकारात्मक पक्ष यह है कि एक पूरे के रूप में सिस्टम का लगातार स्नैपशॉट प्राप्त करना बहुत मुश्किल है, और काफी (अवांछित) अतिरेक और दोहराव हो सकता है।

बेशक, सुझाव हर डॉकर कंटेनर में ओरेकल के एक उदाहरण को छड़ी नहीं है। सबसे पहले, प्रत्येक माइक्रोसिस्ट को "डेटाबेस" की आवश्यकता नहीं है। कुछ प्रक्रियाओं को सही ढंग से काम करने के लिए किसी भी स्थिर स्थिति की आवश्यकता नहीं होती है। उदाहरण के लिए, दो प्रोटोकॉल के बीच अनुवाद करने वाले एक माइक्रोसेस्टर को किसी भी स्थिर स्थिति की आवश्यकता नहीं है। जब लगातार राज्य की आवश्यकता होती है, तो "डेटाबेस" शब्द "निरंतर राज्य" के लिए एक शब्द है। यह JSON के साथ एक फ़ाइल हो सकती है या किसी Sqlite डेटाबेस या Oracle की स्थानीय रूप से चल रही कॉपी यदि आप चाहते हैं या स्थानीय रूप से कोई साधनलगातार डेटा संग्रहीत करना। यदि "डेटाबेस" स्थानीय नहीं है, तो एक शुद्ध माइक्रोसिस्टर्स के दृष्टिकोण से, इसे एक अलग (सूक्ष्म) सेवा की तरह माना जाना चाहिए। यह अंत करने के लिए, यह कभी भी समझ में नहीं आता है कि एक आरडीएस उदाहरण के लिए एक "माइक्रोसॉफ़्ट" डेटाबेस है। फिर से, परिप्रेक्ष्य "अपने स्वयं के आरडीएस डेटाबेस के साथ माइक्रोसॉर्विस का एक गुच्छा" नहीं है, लेकिन " आरडीएस डेटाबेस के साथ संचार करने वाले माइक्रोसर्विस का एक गुच्छा " है। इस बिंदु पर यह कोई फर्क नहीं पड़ता कि डेटा एक ही डेटाबेस उदाहरण में संग्रहीत है या नहीं।

व्यावहारिक रूप से, एक माइक्रोसर्विस आर्किटेक्चर एक बड़ी मात्रा में जटिलता जोड़ता है । यह जटिलता आंशिक विफलता से गंभीरता से निपटने की कीमत है। कई लोगों के लिए, यह ओवरकिल है जो संभवतः लाभ के लायक नहीं है। आपको अपने सिस्टम को किसी भी तरह से सबसे फायदेमंद लगता है, इसके लिए आपको स्वतंत्र महसूस करना चाहिए। वहाँ एक अच्छा मौका है कि सादगी और दक्षता के बारे में चिंता एक शुद्ध microservices वास्तुकला से विचलन को जन्म दे सकती है। लागत अतिरिक्त युग्मन होगी जो अपनी स्वयं की जटिलताओं का परिचय देती है जैसे कि सेवाओं और प्रतिबंधों के बीच अदृश्य इंटरैक्शन जैसे कि आपकी स्वतंत्रता पर तैनाती और पैमाने पर आपकी इच्छा।


"अन्य माइक्रोसर्विसेज से संपर्क करने में असमर्थ होने के कारण।" - मैंने सोचा कि माइक्रोसॉर्क्स को कभी भी अन्य माइक्रोसर्विसेज से संपर्क नहीं करना चाहिए?
मार्क
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.