Проверяет понимание потоковой обработки, deadline и отмены RPC.
Контекст определяет время жизни запроса: таймауты, отмену, метаданные.
При отмене контекста запрос прерывается на клиенте и сервере, а сервер должен завершить работу как можно быстрее.
gRPC полностью основан на context.Context.
Контекст используется для:
передачи deadline (таймаута),
отмены запроса,
передачи метаданных (трейсинг),
управления ресурсами.
Когда контекст отменён:
клиент перестаёт ждать результат,
сервер получает сигнал <-ctx.Done(),
сервер должен прервать долгие операции,
все стримы завершаются.
Вывод:
Без контекстов gRPC невозможно корректно управлять временем жизни RPC.