Протокол удаленного вызова процедур (RPC) в распределенной системе

Что такое РПЦ?

Удаленный вызов процедур (RPC) это метод межпроцессного взаимодействия. Полная форма RPC — это удаленный вызов процедур. Он используется для клиент-серверных приложений. Механизмы RPC используются, когда компьютерная программа вызывает выполнение процедуры или подпрограммы в другом адресном пространстве, что кодируется как обычный вызов процедуры, без специального кодирования программистом деталей для удаленного взаимодействия.

Этот вызов процедуры также управляет транспортным протоколом низкого уровня, таким как протокол пользовательских дейтаграмм. Transmission Протокол управления/Интернет-протокол и т. д. Он используется для передачи данных сообщения между программами.

Виды РПК

Три типа RPC:

  • Обратный вызов RPC
  • Трансляция RPC
  • Пакетный режим RPC

Обратный вызов RPC

Этот тип RPC обеспечивает парадигму P2P между участвующими процессами. Это помогает процессу быть одновременно клиентской и серверной службой.

Функции обратного вызова RPC:

  • Проблемы с удаленно обрабатываемыми интерактивными приложениями
  • Предлагает сервер с дескриптором клиентов
  • Обратный вызов заставляет клиентский процесс ждать
  • Управление взаимоблокировками обратного вызова
  • Это облегчает использование одноранговой парадигмы между участвующими процессами.

Трансляция RPC

Широковещательный RPC — это запрос клиента, который транслируется в сети и обрабатывается всеми серверами, у которых есть метод для обработки этого запроса.

Функции Broadcast RPC:

  • Позволяет указать, что сообщение запроса клиента должно транслироваться.
  • Вы можете объявить широковещательные порты.
  • Это помогает снизить нагрузку на физическую сеть.

Пакетный режим RPC

Пакетный режим RPC помогает ставить в очередь, разделять запросы RPC в буфере передачи на стороне клиента, а затем отправлять их по сети одним пакетом на сервер.

Функции пакетного режима RPC:

  • Он сводит к минимуму накладные расходы, связанные с отправкой запроса, поскольку он отправляет их по сети одним пакетом на сервер.
  • Этот тип протокола RPC эффективен только для приложений, которым требуется более низкая скорость вызовов.
  • Ему нужен надежный протокол передачи.

RPC Archiтекстура

Архитектура RPC состоит в основном из пяти компонентов программы:

  1. Клиент
  2. Клиентская заглушка
  3. Среда выполнения RPC
  4. Серверная заглушка
  5. серверу
RPC Archiтекстура
RPC Archiтекстура

Как работает RPC?

В процессе RPC выполняются следующие шаги:

Шаг 1) Клиент, заглушка клиента и один экземпляр среды выполнения RPC выполняются на клиентском компьютере.

Шаг 2) Клиент запускает процесс-заглушку клиента, передавая параметры обычным способом. Заглушка клиента хранится в собственном адресном пространстве клиента. Он также просит локальную среду выполнения RPC отправить обратно на заглушку сервера.

Шаг 3) На этом этапе пользователь получает доступ к RPC, выполняя обычную локальную процедурную калибровку. RPC Runtime управляет передачей сообщений между сетью между клиентом и сервером. Он также выполняет работу по повторной передаче, подтверждению, маршрутизации и шифрованию.

Шаг 4) После завершения серверной процедуры он возвращается к серверной заглушке, которая упаковывает (упорядочивает) возвращаемые значения в сообщение. Затем заглушка сервера отправляет сообщение обратно на транспортный уровень.

Шаг 5) На этом этапе транспортный уровень отправляет сообщение о результате на транспортный уровень клиента, который возвращает сообщение в заглушку клиента.

Шаг 6) На этом этапе клиентская заглушка демаршалирует (распаковывает) возвращаемые параметры в результирующем пакете, и процесс выполнения возвращается вызывающей стороне.

Характеристики РПК

Вот основные характеристики RPC:

  • Вызванная процедура находится в другом процессе, который, скорее всего, находится на другой машине.
  • Процессы не разделяют адресное пространство.
  • Параметры передаются только по значениям.
  • RPC выполняется в среде серверного процесса.
  • Он не обеспечивает доступ к среде вызывающей процедуры.

Особенности РПК

Вот важные особенности RPC:

  • Простой синтаксис вызова
  • Предлагает известную семантику
  • Обеспечьте четко определенный интерфейс
  • Он может взаимодействовать между процессами на одной или разных машинах.

Преимущества РПК

Вот плюсы/преимущества RPC:

  • Метод RPC помогает клиентам взаимодействовать с серверами посредством обычного использования вызовов процедур на языках высокого уровня.
  • Метод RPC моделируется на основе вызова локальной процедуры, но вызываемая процедура, скорее всего, будет выполняться в другом процессе и обычно на другом компьютере.
  • RPC поддерживает модели, ориентированные на процессы и потоки.
  • RPC скрывает от пользователя внутренний механизм передачи сообщений.
  • Усилия, необходимые для переписывания и повторной разработки кода, минимальны.
  • Удаленные вызовы процедур могут использоваться как в распределенной, так и в локальной среде.
  • Он использует многие уровни протокола для повышения производительности.
  • RPC обеспечивает абстракцию. Например, природа передачи сообщений в сети остается скрытой от пользователя.
  • RPC позволяет использовать приложения в распределенной среде, а не только в локальной среде.
  • При использовании кода RPC усилия по переписыванию и разработке сводятся к минимуму.
  • Поддержка процессно-ориентированных и потоко-ориентированных моделей с помощью RPC.

Недостатки RPC

Вот минусы/недостатки использования RPC:

  • Удаленный вызов процедуры передает параметры только по значениям и значениям указателей, что недопустимо.
  • Время вызова (и возврата) удаленной процедуры (т. е. накладные расходы) может быть значительно меньше, чем для локальной процедуры.
  • Этот механизм очень уязвим к сбоям, поскольку он включает в себя систему связи, другую машину и другой процесс.
  • Концепция RPC может быть реализована разными способами, что не является стандартом.
  • Не предлагает никакой гибкости в RPC для аппаратной архитектуры, поскольку он в основном основан на взаимодействии.
  • Стоимость процесса увеличивается из-за удаленного вызова процедуры.

Резюме

  • Удаленный вызов процедуры – это межпроцессного взаимодействия техника.
  • Три типа RPC: 1) RPC обратного вызова, 2) широковещательный RPC и 3) RPC в пакетном режиме.
  • Архитектура RPC состоит в основном из пяти компонентов программы: 1) Клиент 2) Клиентская заглушка 3) Среда выполнения RPC 4) Серверная заглушка и 5) Сервер
  • В методе RPC процессы не разделяют адресное пространство.
  • RPC предлагает простой синтаксис вызовов и известную семантику.
  • Метод RPC помогает клиентам взаимодействовать с серверами посредством обычного использования вызовов процедур на языках высокого уровня.
  • Самый большой недостаток метода RPC заключается в том, что он очень уязвим к сбоям, поскольку задействует систему связи, другую машину и другой процесс.

Подведем итог этой публикации следующим образом: