क्लस्टरिंग बनाम लेन-देन प्रतिकृति बनाम उपलब्धता समूह


47

यह मानते हुए कि आपको अपना आवेदन सुनिश्चित करने की आवश्यकता है जो कि SQL सर्वर 2012 पर निर्भर है क्योंकि इसकी डेटाबेस बैकएंड घड़ी के आसपास उपलब्ध है, भले ही एक सर्वर मशीन विफल हो जाए।

एक डेवलपर के रूप में और डीबीए नहीं, मैं यह समझने के लिए संघर्ष कर रहा हूं कि मेरी विफलता / उच्च उपलब्धता के लिए कौन से परिदृश्य का उपयोग करना है:

  • विंडोज फेलओवर क्लस्टर में दो (या अधिक) सर्वर, क्लस्टर उदाहरण के रूप में SQL सर्वर
  • दो (या अधिक) SQL सर्वर उदाहरण जो लेन-देन प्रतिकृति के साथ अद्यतित रहते हैं
  • SQL सर्वर उपलब्धता समूह में दो (या अधिक) SQL सर्वर, एक सिंक्रोनस कमिट मोड में कॉन्फ़िगर किया गया है

उन परिदृश्यों में से प्रत्येक किस प्रकार के कार्यभार के लिए काम करता है, और उन परिदृश्यों द्वारा किस प्रकार की विफलता / आउटेज को नियंत्रित किया जा सकता है? क्या वे भी तुलनीय / विनिमेय हैं?

जवाबों:


50

जिस तरह से मैं हमेशा उच्च उपलब्धता समाधान की कल्पना करना चाहता हूं वह निम्नलिखित है:

SQL सर्वर विफलता क्लस्टर इंस्टेंस (FCI)

अत्यधिक उपलब्ध क्या है? संपूर्ण उदाहरण। जिसमें सभी सर्वर-ऑब्जेक्ट (लॉगिन, SQL सर्वर एजेंट कार्य, आदि) शामिल हैं। इसमें डेटाबेस और उनकी इकाइयाँ भी शामिल हैं। यह अत्यधिक उपलब्ध SQL सर्वर उदाहरणों के लिए एक बढ़िया समाधान है, क्योंकि यह इस दिए गए समाधान के साथ नियंत्रण का स्तर होने वाला है।

रिपोर्टिंग के बारे में क्या? कोई नहीं, कोई नहीं, कोई नहीं। एक विफलता क्लस्टर उदाहरण में एक सक्रिय नोड होता है जो क्लस्टर समूह को उदाहरण के रूप में वितरित करता है, VNN, आदि और अन्य सभी नोड निष्क्रिय हैं, निष्क्रिय बैठे हैं (जहां तक ​​वर्तमान क्लस्टर समूह का संबंध है) और एक विफलता का इंतजार कर रहे हैं।

फेलओवर होने पर क्या होता है? एक FCI के लिए डाउनटाइम उस समय की मात्रा से निर्धारित होने वाला है जो निष्क्रिय नोड क्लस्टर संसाधन को हथियाने और SQL सर्वर इंस्टेंस को चालू स्थिति में लाने के लिए लेता है। यह आमतौर पर समय में न्यूनतम है।

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

हमेशा उपलब्धता समूह

अत्यधिक उपलब्ध क्या है? एक उपलब्धता समूह यहां उच्च उपलब्धता का तार्किक समावेश होने जा रहा है, जबकि एक उपलब्धता समूह में कई डेटाबेस और एक वर्चुअल नेटवर्क नाम (श्रोता, एक वैकल्पिक क्लस्टर संसाधन) शामिल हैं। यह ध्यान देने योग्य है कि सर्वर ऑब्जेक्ट जैसे कि लॉगिन और एसक्यूएल सर्वर एजेंट नौकरियां एचए समाधान का हिस्सा नहीं होंगे, और यह सुनिश्चित करने के लिए विशेष ध्यान रखने की आवश्यकता है कि ये उपलब्धता समूह के साथ ठीक से लागू हो। जरूरत से ज्यादा बोझ नहीं, बल्कि देखभाल करने की जरूरत है।

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

फेलओवर होने पर क्या होता है? स्वचालित फ़ेलओवर के साथ जोड़ा गया है, जो एक तुल्यकालिक प्रतिबद्ध माध्यमिक प्रतिकृति के लिए, यह प्रतिकृति भूमिका स्थिति परिवर्तन SECONDARY_NORMAL से PRIMARY_NORMAL तक होगी। स्वचालित फ़ेलओवर होने के लिए, आपको एक समकालिक माध्यमिक प्रतिकृति की आवश्यकता होती है जो वर्तमान में सिंक्रनाइज़ है, और जो कार्यान्वित किया गया है वह यह निर्धारित करने के लिए लचीली विफलता नीति है कि वास्तव में यह विफलता कब होनी चाहिए। वह नीति वास्तव में विन्यास योग्य है।

किसी भी ग्राहक अमूर्त? हां, आप वैकल्पिक रूप से एक AlwaysOn उपलब्धता समूह श्रोता को कॉन्फ़िगर कर सकते हैं। यह मूल रूप से सिर्फ एक आभासी नेटवर्क नाम है (इसे एजी के समूह समूह में क्लस्टर संसाधन के रूप में डब्ल्यूएसएफसी के माध्यम से देखा जा सकता है) जो वर्तमान प्राथमिक प्रतिकृति की ओर इशारा करता है। यह आपके रिपोर्टिंग वर्कलोड को इधर-उधर करने के साथ-साथ किसी भी सर्वर पर रीड-ओनली राउटिंग लिस्ट सेट करने का एक महत्वपूर्ण हिस्सा है, जिसे आप ReadOnly ट्रैफिक को रीडायरेक्ट करना चाहते हैं (यह कनेक्शन स्ट्रिंग के माध्यम से सेट किया गया है। SQL के लिए .NET फ्रेमवर्क प्रोवाइडर के साथ सर्वर, यह एप्लिकेशन इंटेंट पैरामीटर होगा, जिसे ReadOnly पर सेट किया गया है )। आपको प्रत्येक प्रतिकृति के लिए केवल-पढ़ने के लिए एक रूटिंग URL सेट करना होगा, जिसे आप द्वितीयक प्रतिकृति भूमिका में रहते हुए इस रिपोर्टिंग कार्यभार को प्राप्त करना चाहते हैं।

लेन-देन प्रतिकृति

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

रिपोर्टिंग के बारे में क्या? डेटा के सबसेट पर रिपोर्टिंग के लिए एक महान समाधान, इसके बारे में कोई सवाल नहीं। यदि आपके पास एक 1 टीबी डेटाबेस है जो अत्यधिक लेनदेन योग्य है और आप उस कार्यभार को ओएलटीपी डेटाबेस से दूर रखना चाहते हैं, तो रिपोर्टिंग कार्यभार के लिए ग्राहक (या ग्राहकों) को डेटा के सबसेट को धकेलने के लिए ट्रांसेक्शनल प्रतिकृति एक शानदार तरीका है। अगर आपके रिपोर्टिंग कार्यभार के 1 टीबी डेटा में से केवल 50 जीबी ही हो तो क्या होगा? यह एक स्मार्ट समाधान है, और आपकी व्यावसायिक आवश्यकताओं को पूरा करने के लिए अपेक्षाकृत विन्यास योग्य है।

सारांश

क्या यह उबलता है सवालों के एक मुट्ठी भर है कि (आंशिक रूप से व्यापार द्वारा) का जवाब दिया जाना चाहिए:

  1. क्या अत्यधिक उपलब्ध होने की आवश्यकता है ?
  2. SLA हा / DR के लिए क्या निर्देश देता है?
  3. किस तरह की रिपोर्टिंग हो रही है और क्या विलंब स्वीकार्य हैं?
  4. भौगोलिक रूप से छितरी हुई HA के साथ हमें क्या संभालने की आवश्यकता है ? (भंडारण प्रतिकृति महंगी है, लेकिन एक FCI के साथ होना चाहिए। एजी को स्टैंडअलोन इंस्टेंस से साझा भंडारण की आवश्यकता नहीं है, और आप कोरम के लिए फ़ाइल साझा गवाह का उपयोग कर सकते हैं जो संभावित रूप से साझा भंडारण की आवश्यकता को समाप्त कर सकते हैं)

एक महान जवाब के लिए धन्यवाद, थॉमस! इसलिए अगर मैं सही ढंग से समझूं, तो मुख्य मशीन के नीचे जाने पर FCI अपने आप "हॉट स्टैंडबाय" सर्वर पर आ जाएगी? हमेशा के बारे में क्या? क्या यह किसी प्रकार की स्वचालित "विफलता" भी प्रदान करता है, या क्या यह डेटाबेस की सिर्फ एक माध्यमिक प्रति है, लेकिन विफलता के मामले में कुछ व्यवस्थापक को मैन्युअल रूप से स्विच करने की आवश्यकता है?
marc_s

+1 - रिपोर्टिंग के बारे में शानदार उत्तर और अच्छी जानकारी। क्रॉस पोस्टिंग के लिए क्षमा करें, लेकिन मैंने 3/4 किया था जब आपने अपना जवाब साझा किया था :-)
माइक वाल्श

1
@marc_s मदद करने के लिए खुशी है! आप एफसीआई के बारे में अपनी समझ में सही हैं, बशर्ते कि डब्ल्यूएसएफसी खुद नीचे न जाए (यानी कोरम खो देता है) और यह कि एक निष्क्रिय नोड SQL सर्वर क्लस्टर संसाधन समूह को विफलता की स्थिति में लेने में सक्षम है। ऑल्वेज़ ऑन एजी के लिए, हाँ संभव स्वचालित विफलता है। मैंने उस जानकारी को शामिल करने के लिए अपने उत्तर को संपादित कर दिया है, लेकिन मूल रूप से आपको स्वचालित विफलता के लिए कॉन्फ़िगर किए गए सिंक्रनाइज़ द्वितीयक प्रतिकृति की आवश्यकता है। आपके पास एक मैनुअल फेलओवर हो सकता है और साथ ही समकालिक दूसरी प्रतिकृति को कोई डेटा हानि नहीं हो सकती है।
थॉमस स्ट्रिंगर

@ThomasStringer - यह बहुत मददगार है। धन्यवाद! मुझे आश्चर्य है कि यदि आप तीन विकल्पों में से प्रत्येक के लिए स्कीमा परिवर्तन कर सकते हैं। हमने केवल ट्रांजेक्शनल रिप्लेसमेंट की स्थापना की ताकि यह पता लगाया जा सके कि स्कीमा परिवर्तन करना प्रकाशक पर वास्तव में कठिन है। हमेशा के बारे में क्या? क्या हम यहां भी इसी मुद्दे पर चलेंगे?
केसी क्रुकस्टन

22

विंडोज फेलओवर क्लस्टर में दो (या अधिक) सर्वर, क्लस्टर उदाहरण के रूप में SQL सर्वर

  1. किस तरह का काम का बोझ? "यह निर्भर करता है" - लेकिन गंभीरता से, यह एक ऑनलाइन आवेदन के लिए उपयोगी है जहां आपको डेटा सेंटर उच्च उपलब्धता में स्थानीय होना आवश्यक है। आप एक मशीन की विफलता, या एक ऑपरेटिंग सिस्टम के खिलाफ सुरक्षित हैं। लॉगिन, नौकरी, नए डेटाबेस, रखरखाव, आदि सभी को स्वचालित रूप से इस तथ्य से सिंक में रखा जाता है कि यह दो नोड्स वाला एक क्लस्टर है जो बिल्कुल एक ही स्टोरेज को साझा कर रहे हैं ताकि उनके पास सभी समान सिस्टम डेटाबेस हों। बहुत तेज विफलता, लेकिन अभी भी एक हिचकी है जो विफल होने पर SQL सर्वर पुनरारंभ की तरह दिखता है।

  2. विपक्ष / चिंता - विफलता का एक बिंदु आपके भंडारण और इसके सभी घटक हैं। सैन विक्रेताओं हमेशा "SANs असफल नहीं" कहते हैं, लेकिन भंडारण क्षेत्र के नेटवर्क में बहुत सारे चलती भागों हैं और जैसा कि मैंने यहां बताया है , वे कर सकते हैं। इसके अलावा - आप एक ऐसे सेकेंडरी सर्वर के लिए भुगतान कर रहे हैं जो कुछ भी नहीं कर सकता है लेकिन चारों ओर लटका हुआ है और प्रतीक्षा कर रहा है .. अब आप सक्रिय / सक्रिय / मल्टी-नोड कर सकते हैं और दो सक्रिय उदाहरण हैं जो किसी भी दिशा में विफल हो सकते हैं और दूसरे नोड का उपयोग कर सकते हैं।

  3. स्वचालित विफलता? "सबसे" स्वचालित। किसी गवाह की जरूरत नहीं है, यह एक क्लस्टर है। यह एक क्लस्टर का काम है, इसे जितना संभव हो उतना सहज बनाने के लिए। अब इनमें से किसी के साथ, जब एक विफलता होती है, तो आप इसे "महसूस" करेंगे, क्योंकि एसक्यूएल को शुरू करना होगा या कनेक्शन को इंगित करना होगा। जब ऐसा होता है, तो आप मूल रूप से SQL के पुनरारंभ की तरह महसूस करेंगे, DBs वापस आते हैं और वसूली / आदि चलाते हैं।

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

दो (या अधिक) SQL सर्वर इंस्टेंसेस जिन्हें लेन-देन प्रतिकृति के साथ अद्यतित रखा जाता है

  1. किस तरह का काम का बोझ? मैं ईमानदारी से पहली पसंद के रूप में उच्च उपलब्धता या डिजास्टर रिकवरी की आवश्यकता के कई मामलों के लिए यहां नहीं जाऊंगा। सुनिश्चित करने के लिए SQL 2012 में नहीं। लेकिन मूल रूप से यह अच्छा है यदि आपको किसी ऐसे डेटा सेंटर में जाना पड़ता है जो पास नहीं था, तो आप एक एजी (शायद एक डोमेन समस्या जो आपको एजी के लिए आवश्यक विंडोज़ क्लस्टर का उपयोग करने से रोकती है) का उपयोग नहीं कर सकती है, शायद आप बनना चाहते थे। SQL सर्वर मानक में, जो प्रतिकृति कर सकता है, लेकिन AGs नहीं लेकिन आप अभी भी द्वितीयक पर पढ़ने और अतुल्यकालिक होने की क्षमता चाहते हैं।
  2. विपक्ष / चिंता - यह प्रतिकृति है। यह ओवरहेड है, यह सिंक से बाहर निकल सकता है, आप स्रोत के पक्ष में प्रदर्शन के साथ समस्याएं विकसित कर सकते हैं, आदि।
  3. स्वचालित विफलता - नहीं। आपको इसे स्वयं प्रबंधित करना होगा। या तो CNAME के ​​माध्यम से जो एक या दूसरे को इंगित करता है, और आप सैद्धांतिक रूप से ऐसा करने के लिए अपनी खुद की प्रक्रिया लिख ​​सकते हैं, लेकिन बॉक्स से बाहर? यहाँ ध्यान दें।

SQL सर्वर उपलब्धता समूह में दो (या अधिक) SQL सर्वर, एक सिंक्रोनस कमिट मोड में कॉन्फ़िगर किया गया है

यह वही है जो मैं लोगों को अधिक से अधिक हाल ही में लागू करने में मदद कर रहा हूं, हालांकि कभी-कभी मैं अभी भी क्लस्टरिंग पर जाता हूं।

  1. किस तरह का कार्यभार? यह बहुत अच्छा है जब मेरे पास सिंक में रखने के लिए डेटाबेस का प्रबंधनीय सेट है, और यह सुनिश्चित करने के लिए संसाधन और समय है कि नौकरी, लॉगिन, नए डेटाबेस, आदि सिंक में रहें (हालांकि SQL कौशल पर टीम ने एक महान ऐड-इन बनाया है आप इसमें से कुछ को एक विकल्प के रूप में भी मजबूत बना सकते हैं)। मुझे यह पसंद है जब मैं चीजों को पूरी तरह से अलग रखना चाहता हूं। मैं हार्डवेयर मुद्दों, OS मुद्दों, SQL स्थापना समस्याओं, पैचिंग समस्याओं और SAN / संग्रहण समस्याओं से रक्षा कर रहा हूं। मुझे एक माध्यमिक होने की क्षमता का लाभ भी मिलता है (यदि मैं इसके लिए उद्यम लाइसेंस का भुगतान करना चाहता हूं) एक सक्रिय माध्यमिक होने के लिए जिसे मैं पढ़ सकता हूं, बैकअप ले सकता हूं, आदि प्लस भविष्य में मैं एक तीसरा जोड़ सकता हूं। द्वितीयक जो एक दूरस्थ साइट पर अतुल्यकालिक है और इसमें विफलता / डीआर है।
  2. विपक्ष / चिंताओं लाइसेंसिंग, प्रतिकृतियों की अधिकतम संख्या, लाइसेंसिंग लागत का सबसे बड़ा लाभ (सक्रिय माध्यमिक) में से कुछ का लाभ उठाने के लिए, उद्यम की आवश्यकता होती है, क्लस्टरिंग की तुलना में दो बार अधिक भंडारण की आवश्यकता होती है।
  3. स्वचालित विफलता - हाँ। यह एक गवाह सेटअप के साथ हो सकता है, और आपके ऐप डेवलपर नोड के बजाय श्रोता से जुड़ सकते हैं, इसलिए विफल हो जाता है जहां श्रोता इंगित करता है और आपको वहां अच्छा होना चाहिए। तो हाँ आप यहाँ कर सकते हैं - और चाहिए - लेकिन निश्चित रूप से आप इसे अच्छी तरह से परीक्षण करना चाहिए।

सारांश

हा और DR अलग हैं। और ये प्रौद्योगिकियां या तो टुकड़े प्रदान करने में मदद करती हैं। उच्च उपलब्धता का मतलब (मेरे लिए) है कि आप जल्दी से ठीक हो सकते हैं यदि एक मशीन में कुछ खराब होता है, तो आप एक छोटी रिकवरी प्वाइंट ऑब्जेक्टिव और रिकवरी टाइम ऑब्जेक्टिव के साथ हैं। यह क्लस्टरिंग और एक तुल्यकालिक एजी है।

डिजास्टर रिकवरी "आप अपने हा समाधान में भी असफल होने पर उठ सकते हैं। मेरे लिए वह एजी हो सकता है जब आप किसी अन्य डेटा सेंटर, मिररिंग या यहां तक ​​कि प्रतिकृति पर जाते हैं।


1
+1 एक और शानदार जवाब - धन्यवाद! बादल छाने लगे हैं!
marc_s

2
धन्यवाद। प्रत्येक में स्वचालित विफलता के बारे में एक नोट भी जोड़ा।
माइक वॉल्श

2
@marc_s क्लस्टरिंग (FCI) और AG परस्पर अनन्य नहीं हैं। आपके पास एक ही डेटासेंटर (शेयरिंग स्टोरेज) में Node1 और Node2 क्लस्टर हो सकते हैं और एजी को रिमोट डेटा सेंटर (एक ही क्लस्टर में लेकिन स्टोरेज साझा नहीं करना) में अकेले तीसरे स्टैंड पर करना होगा
DaniSQL

2
+1 के लिए @DaniSQL ;-) के अलावा आपने इसे बहुत कम शब्दों में कहा।
माइक वॉल्श

1
काश मैं थॉमस और आपके उत्तर दोनों को स्वीकार कर सकता था - दोनों उत्कृष्ट और बहुत गहराई में - धन्यवाद ढेर!
marc_s

9

जो साझा किया गया है उस पर विचार करना भी महत्वपूर्ण है ।

फेलओवर क्लस्टरिंग एक डिस्क सरणी साझा करने वाले दो या अधिक सर्वर नोड का उपयोग करता है । यदि डिस्क सरणी नीचे जाती है, तो आप सेवा खो देते हैं, भले ही कितने सर्वर नोड हों। यदि सर्वर कक्ष जहां वह डिस्क सरणी स्थित है, आग या बाढ़ पकड़ता है तो आप सेवा खो देते हैं।

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


6

पूर्णता के लिए, सादे पुराने मिररिंग का उपयोग करने का विकल्प है। यहां फायदे में उपलब्धता समूहों का उपयोग किए बिना डेटाबेस की दो प्रतियां शामिल हैं, और फेलओवर क्लस्टरिंग के लिए साझा भंडारण की आवश्यकता के बिना। नुकसान, हालांकि मामूली, मिररिंग को हटा दिया गया है।

मिररिंग के साथ विफलता के समय 10 सेकंड के आदेश पर हैं, हालांकि आवेदन कोड को असफल होने के समय होने वाले किसी भी लेनदेन को पुन: प्रयास करने में सक्षम होना चाहिए।


2
+1 इसे अलग से और विशेष रूप से लाने के लिए :) कहा कि - हाँ आप निश्चित रूप से यह तर्क दे सकते हैं कि मिररिंग कम जटिल है और इसमें क्लस्टर आवश्यकताएं नहीं हैं, डोमेन आवश्यकताएं जो उस के साथ आती हैं, आदि जो एजी के पास हैं। इसलिए अभी भी निश्चित रूप से जटिलता है, और एजी के साथ लॉगिन, नौकरी, नए डेटाबेस आदि को सिंक में रखने की आवश्यकता है। तो यह उन्हीं लागतों में से कुछ है और, जैसा आपने कहा, पदावनत है। लेकिन मैं अभी भी लोगों के लिए आज नए आईना सेटअप और तैनात करता हूं :)
माइक वाल्श
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.