Какие услуги предоставляет веб студия?

0
321

В некотором смысле веб студия gRPC рассматривается как возврат к исходным технологиям веб-служб, SOAP и WSDL. В отличие от REST, gRPC — это не архитектурный стиль, который включает в себя множество принципов проектирования или рекомендаций по структурированию своих сервисов. Вместо этого, как и службы WSDL / SOAP, gRPC — это техническая спецификация, которая позволяет вам вызывать методы через Интернет, не беспокоясь о том, на какой платформе работает служба или клиент. Это различие заключается в названии технологии: RPC — это сокращение от удаленного вызова процедур.

Итак, в отличие от службы REST, вы не можете предполагать столько же о службе gRPC, сколько можете, используя сервис, созданный по принципам REST. Это, в свою очередь, означает, что документация для сервисов gRPC более важна, чем для REST, если вы создаете сервис, который будет вызываться бизнес-партнерами, хотя gRPC изначально помогает компенсировать эту необходимую документацию.

В этом определении gRPC упускается суть технологии, а именно производительность и функциональность.

Производительность.
Начнем с того, что служба gRPC по умолчанию будет более эффективной (работать быстрее), чем служба RESTful по умолчанию. Основным фактором повышения эффективности является то, как gRPC обрабатывает содержимое ваших сообщений (полезную нагрузку).

gRPC требует, чтобы вы преобразовывали ваши сообщения во что-то совместимое с Protobuf, который является двоичным стандартом. Protobuf обеспечивает более компактную (и типизированную!) Полезную нагрузку, чем чистый текстовый формат, который используется по умолчанию для служб RESTful. Хорошая новость заключается в том, что запись и чтение сообщений, доставленных в Protobuf, не сложнее, чем обработка сообщений в службе RESTful. Так что, на первый взгляд, вы получаете больше скорости за ту же работу.

Но, это не означает, что вы получаете такую ​​улучшенную производительность бесплатно. Использование Protobug означает, что вы также отказываетесь от взаимодействия: ваша служба gRPC может взаимодействовать только с клиентами gRPC.

Стандарт Protobuf предоставляет кое-что, чего мне не хватает в службах RESTful: автоматические и машинные. Служба gRPC поставляется с метаданными, описывающими службу. Разработчики на стороне клиента могут использовать эти метаданные для создания клиента, гарантированно работающего со службой. Так же работает с сервисами.