Реализация GO GRPC: высокая производительность, открытый исходный код, общий RPC Framework, которая ставит мобильный и HTTP/2 первым. Для получения дополнительной информации см. Документы GO GRPC или перейдите прямо в быстрый старт.
Просто добавьте следующий импорт в свой код, а затем go [build|run|test] автоматически принесет необходимые зависимости:
import "google.golang.org/grpc"Примечание. Если вы пытаетесь получить доступ к
grpc-goиз Китая , см. FAQ ниже.
Домен golang.org может быть заблокирован из некоторых стран. go get обычно производит ошибку, подобную следующему, когда это происходит:
$ go get -u google.golang.org/grpc
package google.golang.org/grpc: unrecognized import path "google.golang.org/grpc" (https fetch: Get https://google.golang.org/grpc?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)Чтобы создать код GO, есть несколько вариантов:
Установите VPN и получите доступ к Google.golang.org через это.
С поддержкой модуля GO: можно использовать функцию replace go mod для создания псевдонимов для пакетов golang.org. В каталоге вашего проекта:
go mod edit -replace=google.golang.org/grpc=github.com/grpc/grpc-go@latest
go mod tidy
go mod vendor
go build -mod=vendorОпять же, это должно быть сделано для всех переходных зависимостей, размещенных на golang.org. Для получения подробной информации обратитесь к выпуску Golang/Go #28652.
Пожалуйста, обновите последнюю версию GRPC-GO с помощью go get google.golang.org/grpc .
Логист по умолчанию контролируется переменными среды. Включите все так:
$ export GRPC_GO_LOG_VERBOSITY_LEVEL=99
$ export GRPC_GO_LOG_SEVERITY_LEVEL=info"code = Unavailable desc = transport is closing"Эта ошибка означает, что соединение, которое использует RPC, было закрыто, и есть много возможных причин, в том числе:
Это может быть сложно отлаживать это, потому что ошибка происходит на стороне клиента, но основная причина закрытого соединения находится на стороне сервера. Включите журнал на клиенте и сервере и посмотрите, есть ли какие -либо транспортные ошибки.