فراخوانی رویه‌ای دوردست: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
Patricia Mannerheim (بحث | مشارکت‌ها)
ابرابزار
جزبدون خلاصۀ ویرایش
خط ۱:
در محاسبه توزیع شده، یک '''فراخوانی رویه ای دور دستدوردست''' (به انگلیسی: '''RPC''')، زمانی رخ می‌دهد که یک برنامهٔ کامپیوتری موجب می‌شود یک رویه (ساب روتین) در یک فضای آدرس متفاوت (معمولاً روی کامپیوتر دیگری در یک شبکه مشترک) اجرا شود، این رویه طوری کدگذاری شده‌است که، انگار یک فراخوانی رویه ای نرمال محلی است، و برنامه‌نویس به‌طور آشکار جزئیات مربوط به تعامل دوردست را کد گذاری نمی‌کند. این بدان معنی است که برنامه‌نویس اساساً کد مشابهی را می‌نویسد؛ خواه این سابروتین در محل برنامهٔ اجرا شونده باشد، یا اینکه در دوردست باشد. این فرمی از تعامل کلاینت -سرور است (فرا خواننده کلاینت است و اجرا کننده سرور است) که به‌طور معمول از طریق یک سیستم انتقال پیغام از نوع درخواست -پاسخ پیاده‌سازی می‌شود. RPCها در الگوی برنامه‌نویسی شئ گرا، توسط فراخوانی متد دوردست (به انگلیسی:remote method invocation) نمایش داده می‌شوند. مدل RPC، نمایانگر سطحی از شفافیت محلی است. به‌طور خاص این که، رویه‌های فراخواننده، چه محلی باشند و چه دور دست، به میزان زیادی مشابه اند، اما معمولاً آنها عین هم نیستند، بنابراین، می‌توان فراخوان‌های محلی را از فراخوانی‌های دور دست افتراق داد. فراخوان‌های دوردست معمولاً به مراتب کندتر و نامطمئن تر از فراخوان‌های محلی هستند، بنابراین افتراق آنها مهم است.{{سخ}}
آر پی سی‌ها، فرمی از ارتباطات بین پروسه‌ای هستند که در آن پروسه‌های مختلف دارای فضاهای آدرس متفاوت هستند: اگر روی فقط یک ماشین میزبان باشند، آنگاه اگرچه فضای آدرس فیزیکی یکسان است، اما دارای فضاهای آدرس مجازی مجزا هستند؛ و اگر روی میزبان‌های مختلف باشند، فضای آدرس فیزیکی متفاوت است. تکنولوژی‌های مختلف زیادی (معمولاً ناسازگار) برای پیاده‌سازی این مفهوم استفاده شده‌است.