Проверяет понимание высокопроизводительных протоколов взаимодействия между сервисами и клиентами.
gRPC — это протокол взаимодействия клиент–сервер, основанный на HTTP/2 и бинарной сериализации данных. Он использует строгие контракты и автоматически генерирует код для клиентов и серверов. gRPC быстрее REST в сценариях с большим количеством запросов и используется в микросервисах.
gRPC — это фреймворк удаленного вызова процедур, ориентированный на производительность и строгие контракты.
Определение:
gRPC — это способ вызывать методы на удаленном сервере так, как будто они локальные.
Ключевые особенности:
HTTP/2
Бинарный формат данных
Контракты через .proto файлы
service UserService {
rpc GetUser (UserRequest) returns (UserResponse);
}
Микросервисная архитектура
Внутренние сервисы
Высоконагруженные системы
Требует дополнительного прокси
Неудобен для браузеров
REST и GraphQL проще для UI
gRPC подходит для backend-to-backend взаимодействия и высоконагруженных систем, но редко используется напрямую во frontend.