glossary.categories.networking

gRPC

A high-performance, open-source remote procedure call framework by Google.

Definition

gRPC (gRPC Remote Procedure Calls) is a modern, open-source, high-performance RPC framework developed by Google. It uses Protocol Buffers (protobuf) for serialization and HTTP/2 for transport, enabling efficient communication between services. gRPC is widely used in microservices architectures, providing features like streaming, authentication, and load balancing built-in.

Examples

gRPC Health Check Protocol

The standard gRPC health checking protocol.

// health.proto - Standard gRPC health check
syntax = "proto3";

package grpc.health.v1;

message HealthCheckRequest {
  string service = 1;
}

message HealthCheckResponse {
  enum ServingStatus {
    UNKNOWN = 0;
    SERVING = 1;
    NOT_SERVING = 2;
    SERVICE_UNKNOWN = 3;
  }
  ServingStatus status = 1;
}

service Health {
  rpc Check(HealthCheckRequest) returns (HealthCheckResponse);
  rpc Watch(HealthCheckRequest) returns (stream HealthCheckResponse);
}

Use Cases

Microservices communication
Real-time streaming applications
Mobile backend services
IoT device communication
Inter-service communication in Kubernetes

Best Practices

  • Implement the standard health checking protocol
  • Use proper timeout and deadline configurations
  • Implement retry logic with backoff
  • Monitor gRPC endpoints from outside the mesh
  • Use TLS for gRPC connections in production

FAQ

Put gRPC Knowledge Into Practice

Start monitoring your infrastructure with WizStatus.

No credit card required • 20 free monitors forever