Guides

Task-oriented walkthroughs of common use cases

The documentation covers the following techniques:


Authentication

An overview of gRPC authentication, including built-in auth mechanisms, and how to plug in your own authentication systems.

Benchmarking

gRPC is designed to support high-performance open-source RPCs in many languages. This page describes performance benchmarking tools, scenarios considered by tests, and the testing infrastructure.

Cancellation

Explains how and when to cancel RPCs.

Compression

How to compress the data sent over the wire while using gRPC.

Custom Backend Metrics

A mechanism in the gRPC library that allows users to inject custom metrics at the gRPC server and consume at gRPC clients to make your custom load balancing algorithms.

Custom Load Balancing Policies

Explains how custom load balancing policies can help optimize load balancing under unique circumstances.

Custom Name Resolution

Explains standard name resolution, the custom name resolver interface, and how to write an implementation.

Deadlines

Explains how deadlines can be used to effectively deal with unreliable backends.

Debugging

Explains the debugging process of gRPC applications using grpcdebug

Error handling

How gRPC deals with errors, and gRPC error codes.

Flow Control

Explains what flow control is and how you can manually control it.

Health Checking

Explains how gRPC servers expose a health checking service and how client can be configured to automatically check the health of the server it is connecting to.

Interceptors

Explains how interceptors can be used for implementing generic behavior that applies to many RPC methods.

Keepalive

How to use HTTP/2 PING-based keepalives in gRPC.

Metadata

Explains what metadata is, how it is transmitted, and what it is used for.

OpenTelemetry Metrics

OpenTelemetry Metrics available in gRPC

Performance Best Practices

A user guide of both general and language-specific best practices to improve performance.

Reflection

Explains how reflection can be used to improve the transparency and interpretability of RPCs.

Request Hedging

Explains what request hedging is and how you can configure it.

Retry

gRPC takes the stress out of failures! Get fine-grained retry control and detailed insights with OpenCensus and OpenTelemetry support.

Service Config

How the service config can be used by service owners to control client behavior.

Status Codes

Explains the status codes used in gRPC.

Wait-for-Ready

Explains how to configure RPCs to wait for the server to be ready before sending the request.