gRPC (gRPC Remote Procedure Calls) — высокопроизводительный open-source RPC-фреймворк от Google (2015). Использует Protocol Buffers для сериализации (в 5-10× компактнее JSON), HTTP/2 для транспорта, поддерживает bidirectional streaming. Популярен для межсервисной коммуникации в микросервисах. Не подходит для browser-клиентов без grpc-web адаптера.
Ниже: подробности, пример, смежные термины, FAQ.
service UserService {
rpc GetUser (GetUserRequest) returns (User);
rpc ListUsers (Empty) returns (stream User); // server-streaming
}gRPC — binary, fast, backed by Protocol Buffers; для internal microservices. REST — text JSON, human-readable, universal для public API.
Напрямую — нет, т.к. нет доступа к HTTP/2 frame control. Используйте grpc-web (proxy) или gRPC-Gateway (REST-to-gRPC).
grpcurl — curl-like CLI. Или BloomRPC GUI. <a href="/check">Enterno HTTP checker</a> помогает с REST-gateway endpoints.