Разбираемся со спецификацией gRPC¶
Очень важно перед тем, как перейти к мощи gRPC и ASP.NET Core, разобраться со спецификацией gRPC и тем, как он работает. Это необходимо, так как gRPC существенно отличается от прочих технологий, таких как веб-API или SOAP (Simple Object Access Protocol). Спецификация gRPC не зависит от языка, откуда следует, что реализация в ASP.NET Core может интегрироваться с реализациями на других языках, таких как Java, PHP или Node.js.
Введение в RPC¶
RPC (remote Procedure Calls, удалённые вызовы процедур) - это сетевой протокол для выполнения вызовов процедур на удалённом компьютере при помощи сервера приложений — также известный как модель клиент/сервер. Первое описание RPC дано в RFC 707 (декабрь 1975 года).
При помощи RPC клиент вызывает функцию, серверную процедуру с параметрами. Когда сервер получает запрос, он возвращает требуемый ответ обратно клиенту. Клиент ожидает ответа сервера и не выполняет других операций, пока сервер не завершит обработку запроса.
Важно понимать, что gRPC был вдохновлен именно этой моделью RPC. Посмотрим, чем RPC отличается от вызова REST API.
- В RPC API особенности сущностей (такие как создание или удаление сущности) задаются через процедуру или функцию, имеющую входные параметры и возвращаемое значение. Нет привязки к методам HTTP или URL-ам.
- В REST API сущность называется ресурсом, и использует методы HTTP и специальные URL для задания операций над этим ресурсом. Соглашение RESTful поощряет разработчиков использовать определенные методы HTTP в определенных ситуациях: GET — для получения, POST — для создания, PUT — для замены, PATCH — для изменения, и DELETE — для удаления. REST также полагается на коды состояния HTTP. Например, в случае успеха операция GET возвращает код
200 OK, или404 Not Foundв случае, если запрошенный ресурс не был найден.
gRPC — Общие понятия¶
Введение в протокол HTTP/2¶
Преимущества, недостатки и типовое использование¶
Дата создания : 6 апреля 2023 г.