gRPC and Go: Developing Efficient and Type-Safe Services
summary
Claims gRPC replaces JSON/REST with protobuf IDL + HTTP/2 binary framing to cut latency and memory. Demo compiles a .proto with protoc into Go stubs, implements a currency-lookup service reading CSV, registers server, and a client dials and prints results; it works end-to-end. Shows server, client and server streaming examples, TLS via credentials APIs, context deadlines for timeouts, structured gRPC error codes. Benchmarks claim JSON RPC took ~8m7s vs gRPC ~36s; allocations down ~23% and memory use ~40% lower.
AI-written summary · about
chapters (21)
- 0:00Intro
- 1:09Objectives
- 1:28Minimize Complexity
- 2:27The Situation Today
- 3:57Scenario - A Currency Service
- 4:37The Problem
- 10:31A Self-Discoverable REST API
- 12:25Attempts at solving this problem
- 20:12Performance Examples - Dashboard
- 23:36Creating a gRPC Service
- 23:56IDL for Currency Service
- 25:32Compile IDL into Code (Go language example)
- 26:27Implement Service Methods (Go language example)
- 28:12Calling Service from Client
- 30:28Update IDL for Streaming
- 31:40A Server Stream Example - Server
- 32:19A Server Stream Example - Client
- 33:56TLS Setup - Server
- 34:23TLS Setup - Client
- 34:48RequestTimeouts
- 38:14Extracting Objects from Error
related talks
07mGRPC & Go
24m"Building Scalable Microservices with Go"
27mEvolution of serialization formats and usage in Go
25mRethinking Data Flow in gRPC-Go: Maximizing Memor...
01h 01mGet 'Go'ing with Microservices
31mWriting REST Services for the gRPC curious
31mBuilding a microservices architecture with Go
38mMicroservices in Go using Micro
