Connect ~12 часов 25 уроковпродвинутый
Connect RPC: курс по фреймворку Buf для Go
Connect от Buf — современный RPC: один хендлер обслуживает gRPC, gRPC-Web и собственный простой протокол, дружественный браузерам и curl. Кодогенерация через buf, ошибки поверх HTTP-статусов, красивые клиенты для TypeScript. Курс — полный путь от установки до миграции с gRPC.
Чему научитесь
Чему научитесь
- Строить сервисы на connectrpc.com/connect
- Понимать три протокола и выбирать правильный
- Настраивать buf: lint, breaking changes, generate
- Писать interceptors и обрабатывать ошибки
- Подключать браузерных клиентов (TypeScript)
- Мигрировать существующий gRPC-сервис
Для кого курс
- Командам на gRPC, которым нужен браузер
- Тем, кто хочет curl-дружелюбный RPC
- Проектам, начинающим API с чистого листа
Что понадобится
- Базовый Go
- Желательно знакомство с protobuf
Программа курса: 25 уроков
- 1Введение в Connect RPCПроблема gRPC в браузере, решение Connect.~15 мин · что такое connect rpc, connectrpc обзор
- 2Установка и настройкаgo get, buf-плагины, структура проекта.~18 мин · connect установка, buf setup
- 3Первый Connect-сервисconnectrpc handler, http.ListenAndServe.~20 мин · connect первый сервис, connect handler
- 4Протоколы: gRPC, gRPC-Web, ConnectОтличия, маршрутизация, совместимость.~18 мин · connect протоколы, grpc web vs connect
- 5Клиенты: подключение из Goconnect.NewClient, вызовы, контекст.~18 мин · connect клиент go, connect client
- 6Обработка ошибокconnect.NewError, коды, HTTP-маппинг.~18 мин · connect ошибки, connect error codes
- 7InterceptorsUnary и stream, цепочки, логи/метрики.~20 мин · connect interceptors, перехватчики connect
- 8Streaming в ConnectServer/client/bidi через connect.Stream.~22 мин · connect streaming, стримы connect
- 9Браузерные клиенты (TypeScript)@connectrpc/connect-web, CORS, примеры.~22 мин · connect typescript, браузерный клиент rpc
- 10buf CLI: линтинг и breaking changesbuf lint, buf breaking, правила API.~20 мин · buf lint, buf breaking
- 11buf generate: кодогенерацияbuf.gen.yaml, плагины, удалённые плагины BSR.~20 мин · buf generate, кодогенерация buf
- 12BSR: Buf Schema RegistryПубликация модулей, зависимости, версии.~20 мин · buf schema registry, bsr модули
- 13Аутентификация и безопасностьТокены через interceptors, TLS, CORS.~20 мин · connect безопасность, auth connect
- 14Compression и производительностьgzip, message limits, HTTP/2.~18 мин · connect производительность, сжатие grpc
- 15Отражение и документация APIDescriptors, генерация OpenAPI/доков.~18 мин · документация protobuf, openapi connect
- 16Тестирование Connect-сервисовhttptest, мок-клиенты, интеграционные тесты.~18 мин · тестирование connect, httptest connect
- 17Мониторинг и метрикиPrometheus, latency, размеры сообщений.~18 мин · мониторинг connect, метрики connect
- 18Версионирование схемЭволюция proto, backcompat-политики.~18 мин · версионирование protobuf, версии схем
- 19Интеграция с фреймворками (net/http)Mux-совместимость, middleware chi/echo.~18 мин · connect net http, интеграция connect
- 20Миграция с gRPC на ConnectПошаговый план, грабли, обратная совместимость.~22 мин · миграция grpc на connect, grpc to connect
- 21REST-шлюз и HTTP-совместимостьgrpc-gateway vs Connect, GET-запросы.~20 мин · rest шлюз grpc, connect rest
- 22Развертывание Connect-сервисовDocker, ingress, HTTP/2 на границе.~18 мин · деплой connect, connect docker
- 23Лучшая структура проектаproto/, gen/, service/ — реальный шаблон.~18 мин · структура проекта connect, buf проект структура
- 24Типичные ошибки и отладкаcurl-режим, частые грабли, диагностика.~16 мин · отладка connect, grpcurl connect
- 25Итоговый проект: API на ConnectСервис задач: proto, сервер, клиент, тесты.~30 мин · проект connect, api connect
Вопросы о курсе
Connect заменяет gRPC?
Connect совместим с gRPC: те же .proto, тот же код, но плюс простой протокол для браузеров и curl.
Что такое BSR?
Buf Schema Registry — хранилище proto-модулей с версионированием и зависимостями, как npm для схем.