Узнайте о RPC, почему RPC родился и чем он отличается от HTTP?

RPC
Узнайте о RPC, почему RPC родился и чем он отличается от HTTP?

Узнайте о RPC, почему RPC родился и чем он отличается от HTTP?

вступительный вопрос

  1. Что такое РПЦ?
  2. Зачем нужен RPC и какую задачу он решает?
  3. Чем RPC отличается от HTTP?
  4. Сколько видов RPC вы знаете?

Познакомьтесь с РПК

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

RPC — это шаблон сервер-клиент (клиент/сервер), а классическая реализация — этоотправить запрос - получить ответСистема обмена информацией.

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

[Простое понимание]: два разных компьютера (программы),计算机Aсуществует одинсоглашение,计算机Bхочу позвонить计算机Aнужно пройтисоглашениесделать звонок связи.

Рождение ПКР

Фактически, RPC использовался для связи в распределенных системах еще в 1982 году. Первым человеком, который изобрел термин «удаленный вызов процедуры», был «Брюс Джей Нельсон» примерно в 1981 году.

Хорошо известная Java предоставила Java-версию фреймворка RPC (RMI) в версии 1.1.В это время, после 1990 г., в основном RPC широко использовался для вызовов между системами. Тем не менее, это известно только в направлении серверной части.Для публики они более подвержены таким протоколам, как HTTP.Поэтому RPC будет позже для понимания публикой.

RPC и HTTP

Сначала поговорим о HTTP

HTTP:Hypertext Transfer ProtocolПротокол передачи гипертекста.

Протокол HTTP начал появляться как основной протокол только в 1990 году; причина, по которой он нам известен, заключается в том, что HTTP обычно используется на веб-стороне, то есть веб-браузер взаимодействует с веб-сервером. Когда ajax и json стали популярными во внешнем интерфейсе, json также начал проявлять свои собственные возможности.Простые и легкие в использовании функции сделали json основным выбором для передачи данных во внешнем и внутреннем интерфейсе. Протокол HTTP представлен спецификацией Restful, которая имеет большие преимущества. Этохорошая читаемость,а такжеМожет получить поддержку брандмауэра, многоязычную поддержку.

Недостатки HTTP также быстро обнаруживаются:

  1. Меньше полезной информации, HTTP находится на седьмом уровне OSI и содержит много информации заголовка HTTP.
  2. низкая эффективность, из-за седьмого слоя в середине проходит много слоев
  3. HTTP-протоколВызов удаленных методов сложен, необходимо инкапсулировать различные имена параметров и значения параметров, а также зашифрованную связь и т. д.

Так что же такого хорошего в RPC?

  1. вся полезная информация
  2. эффективный
  3. Просто позвонить
  4. Не нужно заботиться о сетевой передаче или проблемах со связью

HTTP и RPC на самом деле связаны

http также является способом реализации rpc.

RPC и HTTP отличаются в одном предложении

RPC это как региональный диалект, только известен внутри страны, обе стороны должны знать диалект, иначе они не смогут общаться

HTTP — это мандарин, вы можете в основном понимать и говорить

Где обычно используется RPC?

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

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

Вопросы в конце статьи

  1. Помогло ли это вам понять некоторые различия между HTTP и RPC?
  2. Вы понимаете, для чего используется RPC?
  3. Вы используете RPC?