Bastian Eicher
Designing gRPC APIs - The things they don't tell you
#1about 2 minutes
Combining resource-oriented design with RPC in gRPC
gRPC uses remote procedure calls, but adopting a resource-oriented design philosophy improves API consistency and predictability.
#2about 5 minutes
Choosing a repository structure for your gRPC project
Evaluate different repository strategies, such as a dedicated proto repo or a monorepo, to manage API definitions and generated code effectively.
#3about 2 minutes
Using linters to enforce API design consistency
Use a linter like Buff to enforce consistent API design rules, but understand the rationale behind warnings to know when they can be safely ignored.
#4about 2 minutes
Understanding the wire format to avoid breaking changes
The gRPC wire format uses integer keys instead of message names, which allows for evolving message types without causing a breaking change for older clients.
#5about 5 minutes
Evolving an API without versioning using a fallback pattern
Instead of versioning, evolve an API by deprecating old methods and adding new ones, while clients use a try-catch fallback to handle older server versions gracefully.
#6about 2 minutes
Handling optional fields and nullable types in Protobuf
Be aware that the `optional` keyword and wrapper types for nullability behave differently across programming languages, affecting client-side code.
#7about 3 minutes
Using the richer error model for detailed error handling
Move beyond simple status codes by using the richer error model to send structured, machine-readable error details in a backward-compatible way.
#8about 2 minutes
Implementing authentication in gRPC services
Leverage existing web framework authentication mechanisms or pre-shared keys, and ensure unauthenticated responses include the correct gRPC headers to be compliant.
Related jobs
Jobs that call for the skills explored in this talk.
Senior Backend Engineer Electrical Engineering
envelio
Köln, Germany
Remote
Senior
Python
Software Architecture
Senior Fullstack Engineer – Angular/.Net (f/m/d)
Apaleo
München, Germany
Remote
€65-85K
Senior
JavaScript
.NET
+2
Matching moments
00:04 MIN
An overview of gRPC fundamentals and its trade-offs
gRPC Load Balancing Deep Dive
13:10 MIN
Exploring gRPC for high-performance communication
REST in Peace? What does the API protocol of the future look like? Or do we have it already?
19:21 MIN
Choosing the right API protocol for today's needs
REST in Peace? What does the API protocol of the future look like? Or do we have it already?
08:09 MIN
Tracing the evolution of APIs from RPC to GraphQL
The Great API Debate: REST, GraphQL, or gRPC?
17:54 MIN
Architectural differences between REST, GraphQL, and gRPC
The Great API Debate: REST, GraphQL, or gRPC?
26:45 MIN
Q&A: GraphQL bombs and gRPC for microservices
The Great API Debate: REST, GraphQL, or gRPC?
25:18 MIN
Exploring alternatives to REST like gRPC and GraphQL
API = Some REST and HTTP, right? RIGHT?!
27:58 MIN
Key takeaways for effective gRPC load balancing
gRPC Load Balancing Deep Dive
Featured Partners
Related Videos
The Great API Debate: REST, GraphQL, or gRPC?
Alexis Yushin
REST in Peace? What does the API protocol of the future look like? Or do we have it already?
Simon Auer
Awful APIs: A History Lesson in Industry Mistakes and Mishaps
James Seconde
Evolving your APIs, a step-by-step approach
Nicolas Fränkel
tRPC: API schemas are pure overhead
Giorgio Boa
gRPC Load Balancing Deep Dive
Max Hausner & Yves Fauser
GraphQL: Does it replace SQL, REST or Something Else?
Gregor Bauer
API = Some REST and HTTP, right? RIGHT?!
Rustam Mehmandarov
Related Articles
View all articles.gif?w=240&auto=compress,format)



From learning to earning
Jobs that call for the skills explored in this talk.

Software Developer – Core API (f/m/d)
Dennemeyer Group
Hesperange, Luxembourg
Intermediate
Senior
.NET
Structured Query Language (SQL)

Backend Engineer - Data
trivago
Düsseldorf, Germany
Senior
MySQL
Kafka
Python
Google BigQuery
Google Cloud Platform

Backend Engineer (m/w/d)
fulfillmenttools
Köln, Germany
€35-65K
Intermediate
TypeScript
Agile Methodologies
Google Cloud Platform



(Senior) Platform Engineer (f/m/d)
MARKT-PILOT GmbH
Stuttgart, Germany
Remote
€75-90K
Senior
Terraform
Kubernetes
Cloud (AWS/Google/Azure)

Cloud Engineer (m/w/d)
fulfillmenttools
Köln, Germany
€50-65K
Intermediate
TypeScript
Google Cloud Platform
Continuous Integration


(Senior) Fullstack Engineer (f/m/d)
MARKT-PILOT GmbH
Stuttgart, Germany
Remote
€75-90K
Senior
Java
Angular
TypeScript