La implementación GO de GRPC: un marco RPC general de alto rendimiento, código abierto y RPC que pone primero a Mobile y HTTP/2. Para obtener más información, consulte los documentos GO GRPC o salte directamente al inicio rápido.
Simplemente agregue la siguiente importación a su código y luego go [build|run|test] obtendrá automáticamente las dependencias necesarias:
import "google.golang.org/grpc"Nota: Si está intentando acceder a
grpc-godesde China , consulte las preguntas frecuentes a continuación.
El dominio golang.org puede estar bloqueado de algunos países. go get generalmente produce un error como el siguiente cuando esto sucede:
$ 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)Para construir el código GO, hay varias opciones:
Configure una VPN y acceda a Google.golang.org a través de eso.
Con soporte del módulo GO: es posible usar la función replace de go mod para crear alias para paquetes golang.org. En el directorio de su proyecto:
go mod edit -replace=google.golang.org/grpc=github.com/grpc/grpc-go@latest
go mod tidy
go mod vendor
go build -mod=vendorUna vez más, esto deberá hacerse para todas las dependencias transitivas alojadas en golang.org también. Para más detalles, consulte el problema de Golang/Go #28652.
Actualice a la última versión de GRPC-GO usando go get google.golang.org/grpc .
El registrador predeterminado está controlado por variables de entorno. Enciende todo así:
$ export GRPC_GO_LOG_VERBOSITY_LEVEL=99
$ export GRPC_GO_LOG_SEVERITY_LEVEL=info"code = Unavailable desc = transport is closing"Este error significa que la conexión que el RPC está utilizando se cerró, y hay muchas razones posibles, que incluyen:
Puede ser complicado depurar esto porque el error ocurre en el lado del cliente, pero la causa raíz de la conexión cerrada está en el lado del servidor. Encienda el registro tanto en el cliente como en el servidor , y vea si hay algún error de transporte.