Благодаря gRPC клиентскому приложению стало проще напрямую вызывать серверное приложение на другом компьютере, как если бы это был локальный объект. Идея gRPC заключается в определении службы с помощью методов в файле Protobuf, затем серверу необходимо реализовать определенные методы, чтобы клиентское приложение могло вызывать эти службы с помощью определенных методов.
Почему gRPC лучше, чем REST?
Сериализация данных
Передача данных в GRPC осуществляется в двоичном формате по сравнению с REST в текстовом формате. GRPC использует буфер протокола для сериализации данных, это может помочь уменьшить размер данных и ускорить их по сравнению с REST, который использует простой текст, который может быть огромным.
Использовать HTTP / 2 по сравнению с HTTP / 1
Хотя REST может поддерживать HTTP / 2, нам нужно включить его для сравнения с GRPC, который может поддерживать только HTTP / 2. Как вы все знаете, производительность HTTP / 2 намного выше, чем у HTTP / 1, поскольку он может отправлять несколько запросов данных параллельно через одно TCP-соединение.
Протобуф
У службы Платеж есть два метода: CreateToken и DeleteToken. Каждый из этих методов предоставляет типы запросов и ответов.
Сервер
Сервер принимает запрос от клиента и отвечает соответствующим образом. Он реализовал определение платежного сервиса и запускает сервер на локальном хосте с номером порта 50051.
Клиент
Клиент отправляет запрос и получает ответ. Он объясняет, как он общается с сервером. Сначала он установил соединение с сервером, набрав номер localhost с портом 50051. После установления соединения он начинает вызывать метод RPC, такой как CreateToken и DeleteToken.
Вывод
Реализовать Protobuf на JavaScript не представляет особой сложности. Доказано, что gRPC быстрее, чем REST из-за всех преимуществ, предлагаемых gRPC, таких как сериализация данных и HTTP / 2.
В заключение скажу, что это повысит производительность gRPC по сравнению с REST.