---
title: "gRPC для Go: от proto до production-сервиса"
description: "Курс gRPC-Go: proto3, кодогенерация, unary и streaming вызовы, interceptors, TLS, дедлайны, load balancing. 25 уроков и итоговый проект."
url: "https://golangmaster.ru/courses/grpc-go/"
published: "2026-09-19"
updated: "2026-09-26"
level: "продвинутый"
lessons: 25
hours: 14
---

# gRPC для Go: от proto до production-сервиса

*продвинутый · ~14 часов · 25 уроков. Обновлено 26.09.2026. Источник: https://golangmaster.ru/courses/grpc-go/*

gRPC — де-факто стандарт общения между микросервисами: HTTP/2, protobuf, четыре вида вызовов, стриминг в обе стороны. Курс проходит весь путь: синтаксис proto3, кодогенерация, сервер и клиент, перехватчики, безопасность, дедлайны и балансировка.

## Чему научитесь

- Писать .proto-схемы и генерировать код
- Реализовывать unary и streaming сервисы
- Управлять метаданными, дедлайнами и отменами
- Строить interceptors для логов и аутентификации
- Настраивать TLS и token-аутентификацию
- Диагностировать ошибки через статус-коды

## Кому подойдёт

- Бэкендерам и platform-инженерам
- Тем, кто строит микросервисы
- Разработчикам API с высокой нагрузкой

## Что нужно знать заранее

- Уверенный Go
- Основы HTTP/2 будет плюсом

## Программа курса

01. **Введение в RPC и gRPC** — Модель RPC, место gRPC, HTTP/2 и protobuf.
02. **Protocol Buffers: синтаксис proto3** — Сообщение, поля, enum, oneof, map, сервисы.
03. **Установка и кодогенерация protoc** — protoc-gen-go, protoc-gen-go-grpc, сборка.
04. **Первый gRPC-сервер** — grpc.NewServer, регистрация, Listen.
05. **gRPC-клиент** — grpc.NewClient, вызов, обработка ошибки.
06. **Типы вызовов: unary** — Запрос-ответ, таймауты, простые ошибки.
07. **Server streaming** — Сервер шлёт поток сообщений, чтение через Recv.
08. **Client streaming** — Клиент шлёт поток, SendAndClose, агрегация.
09. **Bidirectional streaming** — Полный дуплекс, горутины чтения/записи, чат.
10. **Метаданные и контекст** — md.Pairs, чтение заголовков, авторизация-токены.
11. **Перехватчики: interceptors** — UnaryInterceptor, StreamInterceptor, цепочки.
12. **Аутентификация: TLS и токены** — mTLS, credentials, insecure-режим только для dev.
13. **Обработка ошибок и статус-коды** — status.Error, codes.*, details, обработка на клиенте.
14. **Дедлайны и отмены** — context deadline, распространение отмены.
15. **Повторы и ретраи** — Service config, retry policy, идемпотентность.
16. **Load balancing** — Client-side LB, resolver, round_robin, pickfirst.
17. **Health checking protocol** — grpc_health_v1, probes, интеграция с k8s.
18. **Рефлексия сервера** — grpcurl, серверная рефлексия, отладка.
19. **Сериализация: оптимизация proto** — Поля, backward compatibility, сжатие.
20. **Версионирование API** — Пакеты и версии, эволюция схем.
21. **Тестирование gRPC-сервисов** — bufconn, тесты хендлеров и стримов.
22. **Производительность и тюнинг** — Keepalive, message size, компрессия.
23. **gRPC в микросервисной архитектуре** — Gateway-паттерны, облако, service mesh обзор.
24. **Развертывание и проксирование** — Envoy, grpc-web, ingress.
25. **Итоговый проект: чат и файловый сервис** — Bidi-чат + стриминговая передача файлов.

## Вопросы и ответы по курсу

### Нужен ли protoc или достаточно buf?

protoc — классика; buf удобнее (линт, breaking changes). В курсе используем protoc, в курсе Connect — buf.

### gRPC работает в браузере?

Напрямую нет — нужен grpc-web или Connect. Оба варианта разбираются в отдельных уроках.
