GRPC

§§IBT7§§¶@definition¶gRPC — высокопроизводительный RPC-фреймворк, обычно использующий HTTP/2 и контрактное описание сервисов.¶@plain¶gRPC — механизм удалённых вызовов, в котором контракт сервиса описывается Protocol Buffers, а клиент вызывает типизированные методы почти как локальные функции. Обычно транспортом служит HTTP/2, включая потоковые режимы обмена.¶@use¶gRPC применяют между микросервисами и системами с формальным контрактом и высокой производительностью. Защита включает TLS или mTLS, проверку полномочий на каждый метод, ограничения размера и времени, безопасную обработку метаданных и наблюдаемость вызовов.¶@example¶Платёжный сервис вызывает метод ReserveFunds по защищённому каналу mTLS. Сервер проверяет идентичность сервисной нагрузки, право на вызов и допустимую сумму, ограничивает время выполнения и связывает запрос с трассировкой, не записывая токен в журнал.¶@compare¶REST¦/slovar-informacionnoy-bezopasnosti/appsec-i-devsecops/rest-api¦REST чаще моделирует ресурсы и HTTP-семантику.¶@steps¶Описать контракт¦В .proto задают сервисы, методы, сообщения и правила совместимости полей.¤Сгенерировать клиент¦Инструменты создают типизированные stubs для выбранных языков.¤Выполнить вызов¦Клиент устанавливает защищённый канал, передаёт метаданные и сериализованное сообщение.¤Обработать результат¦Сервер авторизует метод, выполняет операцию и возвращает ответ или статус, наблюдаемость связывает обе стороны.¶@resources¶Курсы по AppSec¦https://ibcourses.ru/appsec-kursy¦Курс¶@related¶REST API¦/slovar-informacionnoy-bezopasnosti/appsec-i-devsecops/rest-api¶@faq¶gRPC всегда использует HTTP/2?¦Это основной транспорт стандартной реализации, но детали зависят от платформы и прокси; совместимость проверяют по всей цепочке.¤Можно ли открыть gRPC напрямую в браузере?¦Обычный браузер имеет ограничения; часто используют gRPC-Web и промежуточный прокси.¤Как версионировать protobuf?¦Не переиспользуют номера удалённых полей, сохраняют совместимые изменения и проверяют одновременную работу старых и новых клиентов.