GRPCのGO実装:モバイルとHTTP/2を最初に置く高性能、オープンソース、一般的なRPCフレームワーク。詳細については、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モジュールのサポートを使用すると、 go modのreplace機能を使用して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 Issue#28652を参照してください。
go get google.golang.org/grpcを使用して、GRPC-GOの最新バージョンに更新してください。
デフォルトのロガーは、環境変数によって制御されます。このようにすべてをオンにします:
$ export GRPC_GO_LOG_VERBOSITY_LEVEL=99
$ export GRPC_GO_LOG_SEVERITY_LEVEL=info"code = Unavailable desc = transport is closing"このエラーは、RPCが使用している接続が閉じられていることを意味し、以下を含む多くの理由があります。
クライアント側でエラーが発生しますが、接続が閉じられている根本原因はサーバー側にあるため、これをデバッグするのは難しい場合があります。クライアントとサーバーの両方のログをオンにして、トランスポートエラーがあるかどうかを確認します。