tags: #publish
links: [[Software and Tech]]
created: 2020-09-22 Tue
---
# gRPC
Google RPC - faster, usually-binary alternative to HTTP
## Features
Specify methods with parameters and return types. Makes client generation very easy.
By default, uses Protocol Buffers as Interface Definition Language (IDL).
Optionally, JSON.
Four types of method:
- Unary RPC (function call)
- [[gRPC Streaming API]]:
- Server Streaming RPC
- Client Streaming RPC
- Bidirectional Streaming RPC
Opaque key-value pair metadata about the call.
Deadlines / timeouts and cancellation by either party.
Clients and server are explicitly allowed to disagree on status/success, e.g. due to different view of timeouts and network issues.
Channels, like open HTTP connections.