High-performance RPC for service-to-service communication
Day 1
Protocol Buffers, Services & Streaming
- Protocol Buffers: message definitions, scalar types, oneof, repeated fields, enums
- Proto3 vs Proto2: differences and when it matters
- Service definitions: unary, server streaming, client streaming, bidirectional streaming
- Code generation: protoc with Java and Kotlin plugins
- Spring Boot gRPC integration with grpc-spring-boot-starter
- Interceptors: authentication, logging, correlation ID propagation
- Error handling: gRPC status codes vs HTTP — mapping and propagation
- gRPC reflection: service discovery at runtime
- Deadlines and cancellation: timeouts that actually work across service boundaries
- Load balancing: client-side with gRPC name resolver
- Testing gRPC services: GrpcCleanupRule, in-process channels
- REST transcoding: exposing gRPC as REST via grpc-gateway or Envoy
What your team walks away with
Backend engineers who can design, implement, and operate gRPC services in Java/Spring Boot — including streaming patterns and production observability.
- Define services and messages in Protocol Buffers and generate type-safe Java/Kotlin code
- Implement all four gRPC communication patterns: unary, server streaming, client streaming, bidirectional
- Apply deadlines, interceptors, and error propagation correctly across service boundaries
- Deploy and load-balance gRPC services in Kubernetes with proper health checks
Book the gRPC training
A focused one-day course — works well as a supplement to microservices or Kubernetes training.
Get in touch