Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Golang: grpc, deadline, context

Зачем использовать контекст в gRPC-запросах и что произойдёт при его отмене?

Проверяет понимание потоковой обработки, deadline и отмены RPC.

Короткий ответ

Контекст определяет время жизни запроса: таймауты, отмену, метаданные.

При отмене контекста запрос прерывается на клиенте и сервере, а сервер должен завершить работу как можно быстрее.

Длинный ответ

gRPC полностью основан на context.Context.

Контекст используется для:

  • передачи deadline (таймаута),

  • отмены запроса,

  • передачи метаданных (трейсинг),

  • управления ресурсами.

Когда контекст отменён:

  1. клиент перестаёт ждать результат,

  2. сервер получает сигнал <-ctx.Done(),

  3. сервер должен прервать долгие операции,

  4. все стримы завершаются.

Вывод:

Без контекстов gRPC невозможно корректно управлять временем жизни RPC.

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    5

Навыки

  • Golang

    Golang

Ключевые слова

#grpc

#deadline

#context

Подпишись на Golang Developer в телеграм

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.