Sobes.tech
Senior

Tell about gRPC: what it is and how it works.

sobes.tech AI

Answer from AI

gRPC is a modern framework for remote procedure calls (RPC), developed by Google. It allows clients and servers to communicate over the network using the HTTP/2 protocol and data serialization via Protocol Buffers (protobuf).

How gRPC works:

  • A service and methods are defined in a .proto file using protobuf.
  • Based on the .proto, client and server code are generated in the desired language.
  • The client calls server methods as regular functions, and gRPC handles the network interaction.
  • HTTP/2 is used, providing multiplexing, compression, and low latency.

Advantages of gRPC:

  • High performance due to binary serialization and HTTP/2.
  • Support for streaming data in both directions (client-server).
  • Cross-platform compatibility and support for many languages.

Example of defining a service in protobuf:

syntax = "proto3";

service UserService {
  rpc GetUser (UserRequest) returns (UserResponse);
}

message UserRequest {
  int32 id = 1;
}

message UserResponse {
  int32 id = 1;
  string name = 2;
}

After code generation, the client can call GetUser, and the server implements this function, handling the requests.