Каковы преимущества и недостатки удаленных вызовов процедур

#process #distributed #rpc

#процесс #распределенный #rpc

Вопрос:

Кто-нибудь, пожалуйста, может предоставить конкретные ссылки, в которых упоминаются преимущества RPC по сравнению с другими моделями взаимодействия между процессами.

Также, лучше ли RPC подходит для TCP / IP или HTML или аналогичных других средств передачи.

Заранее благодарю.

Комментарии:

1. О каких других моделях взаимодействия между процессами вы думаете? Их много, и все они имеют свои преимущества и недостатки. Кроме того, не уверен, какое отношение HTML имеет к чему-либо …?

2. На самом деле я ищу adv и disadv из всех моделей взаимодействия между процессами.

Ответ №1:

Я думаю, что вы смешиваете и сопоставляете различные части интернет-стека. Следуя пятиуровневой сетевой модели (существует также семиуровневая модель, которую вы можете сравнить),

  1. Прикладной уровень: множество, включая HTTP, RPC и т.д.
  2. Транспортный уровень: TCP (существуют и другие, включая UDP, ICMP)
  3. Сетевой уровень: IP
  4. Канальный уровень
  5. Физический уровень

RPC будет находиться на прикладном уровне, поэтому я не совсем понимаю, как будет задействован HTML.

Что касается RPC: он (наряду с другими подобными протоколами, такими как RMI на Java) предоставляет вам способ прозрачного вызова процедуры, расположенной на другом компьютере по сети, как если бы она была локальной. Хорошо ли это? На первый взгляд может показаться, что это упрощает распределенные вычисления, но это может быть иллюзией. Потому что обработка распределенной системы как единого компьютера может быть очень опасным способом программирования.

Уолдо и др. очень хорошо описывают проблему (серьезно, это отличная статья). В распределенных системах возникают проблемы, не встречающиеся в автономных системах: задержка; частичный сбой; различные модели доступа к памяти. Это «трудные части» распределенных вычислений. RPC решает «легкую часть»: сортировку и отмену сортировки данных, одновременно покрывая сложные части бумагой и, скорее всего, создавая ложное чувство безопасности.

Комментарии:

1. Можно отметить, что RPC решает не только «простую часть» маршалинга, но обычно также и «промежуточную и сложную часть» настройки и поддержания соединения между двумя удаленными объектами.

2.Ссылка «Waldo et al.» не работает. Вот зеркало: Заметка о распределенных вычислениях (Джим Уолдо, Джефф Вайант, Энн Волрат, Сэм Кендалл)