Глоссарий

gRPC

gRPC (Google Remote Procedure Call) — фреймворк для межсервисной коммуникации, использующий Protocol Buffers для сериализации и HTTP/2 в качестве транспорта. В 5–10 раз быстрее JSON/HTTP в большинстве задач.

Protocol Buffers

Схема описывается в .proto-файле, из которого генерируется код клиента и сервера на любом поддерживаемом языке. Бинарный формат — компактнее и быстрее JSON.

message User {
  int32 id = 1;
  string name = 2;
}
service UserService {
  rpc GetUser (UserRequest) returns (User);
}

Преимущества перед REST

Ограничения

gRPC плохо подходит для публичных API (браузеры не поддерживают без grpc-web proxy). Идеален для внутренней коммуникации между микросервисами.