GRPC의 GO 구현 : 고성능, 오픈 소스, 일반 RPC 프레임 워크는 모바일 및 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 모듈 지원 : 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가 사용중인 연결이 닫혀 있음을 의미하며 다음을 포함하여 많은 가능한 이유가 있습니다.
클라이언트 측에서 오류가 발생하지만 닫힌 연결의 근본 원인은 서버 측에 있으므로이를 디버깅하는 것이 까다로울 수 있습니다. 클라이언트와 서버 모두 에 로그를 켜고 전송 오류가 있는지 확인하십시오.