gRPC и API Design

Protocol Buffers, стриминг и gRPC-Gateway: современный API для микросервисов

Уровень: Средний · около 4 ч · после курса: Опишешь сервис в .proto, поднимешь gRPC-сервер со стримингом и отдашь его наружу как REST

Чему научишься

  • Описать proto-схему
  • Реализовать unary и streaming RPC
  • Использовать gRPC-Gateway для REST
  • Версионировать API
  • Понимать trade-offs gRPC vs REST
  • Деплой gRPC за nginx

Уроки курса (5)

Модуль 1 · Protobuf и базовый gRPC

Бинарная сериализация и первый клиент-сервер

  1. Protocol Buffers: бинарная сериализация - Формат .proto, типы данных, well-known types, oneof/map, backward compatibility
  2. gRPC: первый сервер и клиент - Unary RPC, metadata, deadlines, status codes, health checking, reflection

Модуль 2 · Streaming, interceptors, Gateway

Потоковые RPC, middleware и REST-фасад через gRPC-Gateway

  1. gRPC Streaming: потоковая передача данных - Server, client, bidirectional streaming, flow control, backpressure
  2. Interceptors: middleware для gRPC - Logging, auth, recovery, rate limiting, metrics, chaining, stream interceptors
  3. gRPC-Gateway и OpenAPI - REST поверх gRPC, аннотации, генерация Swagger, REST↔gRPC mapping, versioning