ग्राफकलाइन - आर्किटेक्चर

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

नीचे सूचीबद्ध तीन तरीकों में से किसी का उपयोग करके ग्राफक्लाइन सर्वर को तैनात किया जा सकता है -

  • कनेक्टेड डेटाबेस के साथ ग्राफकलाइन सर्वर
  • GraphQL सर्वर जो मौजूदा सिस्टम को एकीकृत करता है
  • हाइब्रिड दृष्टिकोण

कनेक्टेड डेटाबेस के साथ ग्राफकलाइन सर्वर

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

ऊपर दिए गए आरेख में, ग्राफकॉल सर्वर और डेटाबेस को एक नोड पर एकीकृत किया गया है। क्लाइंट (डेस्कटॉप / मोबाइल) HTTP पर ग्राफकॉल सर्वर के साथ संचार करता है। सर्वर अनुरोध को संसाधित करता है, डेटाबेस से डेटा प्राप्त करता है और इसे क्लाइंट को वापस करता है।

मौजूदा सिस्टम को एकीकृत करते हुए ग्राफकलाइन सर्वर

यह दृष्टिकोण उन कंपनियों के लिए मददगार है जिनके पास विरासत की बुनियादी संरचना और विभिन्न एपीआई हैं। मौजूदा सिस्टम में माइक्रोसर्विस, लीगेसी इन्फ्रास्ट्रक्चर और थर्ड-पार्टी एपीआई को एकजुट करने के लिए ग्राफकॉक का इस्तेमाल किया जा सकता है।

ऊपर दिए गए आरेख में, ग्राफ़िकल एपीआई क्लाइंट और मौजूदा सिस्टम के बीच एक इंटरफेस के रूप में कार्य करता है। क्लाइंट एप्लिकेशन ग्राफक्यूएल सर्वर के साथ संवाद करते हैं जो बदले में क्वेरी को हल करता है।

हाइब्रिड दृष्टिकोण

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