आरपीसी और आरएमआई के बीच अंतर

लेखक: Laura McKinney
निर्माण की तारीख: 1 अप्रैल 2021
डेट अपडेट करें: 17 मई 2024
Anonim
RCBO , MCB और RCCB में  क्या अंतर होता है
वीडियो: RCBO , MCB और RCCB में क्या अंतर होता है

विषय


RPC और RMI वे तंत्र हैं जो क्लाइंट को क्लाइंट और सर्वर के बीच संचार स्थापित करने के माध्यम से सर्वर से प्रक्रिया या विधि को लागू करने में सक्षम बनाते हैं। RPC और RMI के बीच सामान्य अंतर यह है कि RPC केवल समर्थन करती है प्रक्रियात्मक प्रोग्रामिंग जबकि आरएमआई समर्थन करता है ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग.

दोनों के बीच एक और बड़ा अंतर यह है कि सुदूर प्रक्रियाओं को पारित करने वाले मापदंडों से मिलकर बनता है साधारण डेटा संरचनाएँ। दूसरी ओर, दूरस्थ विधि से पारित पैरामीटर से मिलकर बनता है वस्तुओं.

  1. तुलना चार्ट
  2. परिभाषा
  3. मुख्य अंतर
  4. निष्कर्ष

तुलना चार्ट

तुलना के लिए आधारआरपीसीRMI
समर्थनप्रक्रियात्मक प्रोग्रामिंग
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग
पैरामीटरसाधारण डेटा संरचनाएं दूरस्थ प्रक्रियाओं को पारित की जाती हैं।वस्तुओं को दूरस्थ तरीकों से पारित किया जाता है।
दक्षताRMI से कम हैRPC से अधिक और आधुनिक प्रोग्रामिंग दृष्टिकोण (अर्थात वस्तु-उन्मुख प्रतिमान) द्वारा समर्थित
ओवरहेड्सअधिक
तुलनात्मक रूप से कम
इन-आउट पैरामीटर अनिवार्य हैं।हाँजरुरी नहीं
प्रोग्रामिंग में आसानी का प्रावधान
उच्च
कम


RPC की परिभाषा

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

आरपीसी को दिए गए चरणों के माध्यम से कैसे कार्यान्वित किया जाता है, इसे समझने दें

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


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

RMI की परिभाषा

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

जब कोई क्लाइंट किसी दूरस्थ विधि को कॉल करता है, तो दूरस्थ विधि के लिए स्टब कहा जाता है। क्लाइंट स्टब एक विधि और मार्शाल्ड मापदंडों के नाम वाले पार्सल को बनाने और इंगेज करने के लिए जवाबदेह है, और कंकाल पार्सल प्राप्त करने के लिए जिम्मेदार है।

कंकाल मापदंडों को अनमार्ट करता है और सर्वर पर वांछित विधि लागू करता है। कंकाल पार्सल के साथ दिए गए मूल्य (या अपवाद) को मार्शल्स करता है और क्लाइंट स्टब को देता है। स्टब रिटर्न पार्सल को फिर से जमा करता है और इसे क्लाइंट को भेजता है।

जावा में, मापदंडों को तरीकों से पारित किया जाता है और संदर्भ के रूप में वापस किया जाता है। यह RMI सेवा के लिए तकलीफदेह हो सकता है क्योंकि सभी वस्तुएँ संभवतः दूरस्थ विधियाँ नहीं हैं। इसलिए, यह निर्धारित करना चाहिए कि संदर्भ के रूप में क्या पारित किया जा सकता है और कौन नहीं।

जावा नाम की प्रक्रिया का उपयोग करता है क्रमबद्धता जहां वस्तुओं को मूल्य के रूप में पारित किया जाता है। दूरस्थ वस्तु मूल्य द्वारा पास द्वारा स्थानीयकृत होती है। यह स्टब क्लास के URL के साथ ऑब्जेक्ट के रिमोट रेफरेंस को पास करके भी रेफरेंस को पास कर सकता है। संदर्भ द्वारा पास दूरस्थ वस्तु के लिए एक स्टब को प्रतिबंधित करता है।

  1. RPC प्रक्रियात्मक प्रोग्रामिंग प्रतिमानों का समर्थन करता है, इस प्रकार C आधारित है, जबकि RMI ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग प्रतिमानों का समर्थन करता है और जावा आधारित है।
  2. आरपीसी में दूरस्थ प्रक्रियाओं के लिए पारित पैरामीटर सामान्य डेटा संरचनाएं हैं। इसके विपरीत, आरएमआई दूरस्थ विधि के लिए एक पैरामीटर के रूप में वस्तुओं को स्थानांतरित करता है।
  3. आरपीसी को आरएमआई के पुराने संस्करण के रूप में माना जा सकता है, और इसका उपयोग प्रोग्रामिंग भाषाओं में किया जाता है जो प्रक्रियात्मक प्रोग्रामिंग का समर्थन करते हैं, और यह केवल पास विधि द्वारा उपयोग कर सकते हैं। जैसा कि, आरएमआई सुविधा आधुनिक प्रोग्रामिंग दृष्टिकोण के आधार पर तैयार की जाती है, जो मूल्य या संदर्भ द्वारा पास का उपयोग कर सकती है। आरएमआई का एक और फायदा यह है कि संदर्भ द्वारा पारित मापदंडों को बदला जा सकता है।
  4. RPC प्रोटोकॉल RMI की तुलना में अधिक ओवरहेड उत्पन्न करता है।
  5. RPC में पारित पैरामीटर “होना चाहिएअंदर बाहर"जिसका अर्थ है कि प्रक्रिया के लिए दिया गया मान और आउटपुट मान में एक ही डेटाटाइप होना चाहिए। इसके विपरीत, पास होने की कोई मजबूरी नहीं हैअंदर बाहर"RMI में पैरामीटर।
  6. आरपीसी में, संदर्भ संभावित नहीं हो सकते क्योंकि दोनों प्रक्रियाओं में अलग-अलग पता स्थान होता है, लेकिन आरएमआई के मामले में यह संभव है।

निष्कर्ष

आरपीसी और आरएमआई दोनों एक ही उद्देश्य पर काम करते हैं लेकिन भाषाओं में उपयोग किया जाता है विभिन्न प्रोग्रामिंग प्रतिमानों का समर्थन करते हैं, इसलिए अलग-अलग विशेषताएं हैं।