Online site Meder
Четверг, 18.10.2018, 19:58
Приветствую Вас Гость | RSS
 
Главная БлогРегистрацияВход
Меню сайта
Категории раздела
Новости Сайта [1]
Раздел о новинках и обновлении сайта
Статистика

Онлайн всього: 1
Гостей: 1
Користувачів: 0

11:00
Удаленный вызов процедур
распределенных вычислениях вызов удаленной процедуры ( RPC ) - это когда компьютерная программа вызывает выполнение процедуры ( подпрограммы ) в другом адресном пространстве (обычно на другом компьютере в общей сети), которая кодируется, как если бы она была нормальной ( локальный) вызов процедуры, без того, чтобы программист явно кодировал детали для удаленного взаимодействия. То есть программист пишет по существу тот же код, является ли подпрограмма локальной для исполняющей программы или удаленной. Это форма взаимодействия клиент-сервер (вызывающий клиент, исполнитель - сервер), как правило, реализуется через систему передачи сообщений запроса-ответа . В парадигме объектно-ориентированного программирования вызовы RPC представлены удаленным вызовом метода (RMI). Модель RPC подразумевает уровень прозрачности местоположения , а именно, что процедуры вызова во многом одинаковы, будь то локальные или удаленные, но обычно они не идентичны, поэтому локальные вызовы можно отличить от удаленных вызовов. Удаленные вызовы обычно на порядок медленнее и менее надежны, чем местные вызовы, поэтому важно различать их.

RPC - это форма межпроцессного взаимодействия (IPC), поскольку разные процессы имеют разные адресные пространства: если на одном и том же хост-компьютере они имеют разные виртуальные адресные пространства , хотя физическое адресное пространство одинаково; в то время как если они находятся на разных хостах, физическое адресное пространство отличается. Для реализации концепции использовалось много разных (часто несовместимых) технологий.

RPC - это протокол запроса-ответа . Клиент инициирует RPC, который отправляет сообщение запроса известному удаленному серверу для выполнения указанной процедуры с предоставленными параметрами. Удаленный сервер отправляет ответ клиенту, и приложение продолжает процесс. Пока сервер обрабатывает вызов, клиент блокируется (он ждет, пока сервер завершит обработку до возобновления выполнения), если клиент не отправляет асинхронный запрос на сервер, например XMLHttpRequest . Существует множество вариаций и тонкостей в различных реализациях, что приводит к множеству различных (несовместимых) RPC-протоколов.

Важным отличием между удаленными вызовами процедур и локальными вызовами является то, что удаленные вызовы могут выходить из строя из-за непредсказуемых сетевых проблем. Кроме того, вызывающие абоненты обычно должны иметь дело с такими сбоями, не зная, действительно ли была вызвана удаленная процедура. Идемпотентные процедуры (те, которые не имеют дополнительных эффектов при вызове более одного раза) легко обрабатываются, но остается достаточно трудностей, так как код для вызова удаленных процедур часто ограничивается тщательно написанными низкоуровневыми подсистемами.
Просмотров: 9 | Добавил: virtsite | Теги: Удаленный вызов процедур | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Вход на сайт

Copyright Mederfamily.ucoz.com© 2018
Хостинг от uCoz