Научитесь связывать Go-сервисы по gRPC так, чтобы контракт переживал релизы, а вызовы переживали отказы соседей: protobuf и проверка совместимости через buf, четыре формы вызовов включая стриминг с обратным давлением, коды статусов и богатые ошибки, дедлайны и ретраи с бюджетом попыток сквозь цепочку, mTLS и авторизация по методам, тесты через bufconn, метрики и клиентская балансировка. Финал — капстоун из трёх частей: REST-фасад с двумя версиями контракта одновременно, пара сервисов «заказы и журнал событий» и защищённый сервис, который принимается прогоном с отказами. Плюс профессиональные блоки: что возвращать вместо строковых ошибок, когда стрим дешевле серии вызовов, почему обычный балансировщик плохо дружит с gRPC, дедлок в bidi-стриме, health и reflection, бенчмарки по реальным числам. Лабораторные на живом gRPC-сервере и клиенте в песочнице.
Этот курс — про то, <strong>как связывать Go-сервисы по gRPC так, чтобы контракт переживал релизы, а вызовы переживали отказы соседей</strong>. От первого .proto до сервиса, который держит дедлайны, обслуживает старых и новых клиентов одновременно и понятен на дежурстве по метрикам и трассировке.
Внутри — <strong>лабораторные на живом gRPC</strong>: ваш сервер и клиент поднимаются в песочнице с protoc, buf и генераторами, и зачёт ставится по поведению. К серверу подключается клиент старой версии контракта; подписчика стрима притормаживают и считают, сколько сервер вытянул впрок; подсовывают сертификат от чужого CA; гасят бэкенд и ждут переключения трафика. Ваши тесты прогоняются против испорченных реализаций сервиса и обязаны упасть на каждой. Фикстуры подменяются: захардкодить ответ не получится.
Контракт разобран как публичный API: какие правки .proto ломают клиентов, зачем reserved и запрет на переиспользование номеров, чем oneof отличается от optional и как держать v1 и v2 в одном сервере. Ошибки, дедлайны и ретраи разобраны сквозь цепочку сервисов, а перехватчики, mTLS и лимиты — как периметр, который выдерживает чужие вызовы.
Финал — <strong>капстоун из трёх частей</strong>: REST-фасад через grpc-gateway с v1 и v2 одновременно поверх сервиса каталога; два сервиса «заказы и журнал событий» поверх общего журнала с проверкой сумм, кодов ошибок и порядка событий в потоке; сервис OpsGuard с авторизацией, дедлайнами и ретрай-клиентом, который принимается прогоном с отказами: неавторизованные вызовы, зависшие операции, недоступная зависимость. Курс готовит одновременно к проду и к вопросам про gRPC на собеседовании: каждый модуль заканчивается практикой, которую спрашивают в сильных командах.
Вы также можете задать любой вопрос по курсу у поддержки t.me/mentorix_support
Для Go-разработчиков, которые пишут сервисы и хотят собрать первую версию gRPC-контракта так, чтобы она пережила следующие релизы, а вызовы между сервисами переживали отказы зависимостей.
Для тех, кто уже использует gRPC по примерам из документации, но версионирование контракта, стриминг, дедлайны и балансировка до сих пор вызывают вопросы — и на собеседованиях, и на дежурстве.
Подойдёт бэкендерам с других языков, знающим основы Go: gRPC и protobuf разбираются с нуля, окружение с protoc, buf и генераторами уже в песочнице, ставить ничего не нужно.
Модулей: 8, уроков: 29. Задачи с кодом проверяются автоматически.
Стоимость курса: 8990 ₽