mirror of https://github.com/hashicorp/consul
58 lines
2.0 KiB
Markdown
58 lines
2.0 KiB
Markdown
|
#gRPC-Go
|
||
|
|
||
|
[![Build Status](https://travis-ci.org/grpc/grpc-go.svg)](https://travis-ci.org/grpc/grpc-go) [![GoDoc](https://godoc.org/google.golang.org/grpc?status.svg)](https://godoc.org/google.golang.org/grpc)
|
||
|
|
||
|
The Go implementation of [gRPC](http://www.grpc.io/): A high performance, open source, general RPC framework that puts mobile and HTTP/2 first. For more information see the [gRPC Quick Start](http://www.grpc.io/docs/) guide.
|
||
|
|
||
|
Installation
|
||
|
------------
|
||
|
|
||
|
To install this package, you need to install Go and setup your Go workspace on your computer. The simplest way to install the library is to run:
|
||
|
|
||
|
```
|
||
|
$ go get google.golang.org/grpc
|
||
|
```
|
||
|
|
||
|
Prerequisites
|
||
|
-------------
|
||
|
|
||
|
This requires Go 1.5 or later.
|
||
|
|
||
|
A note on the version used: significant performance improvements in benchmarks
|
||
|
of grpc-go have been seen by upgrading the go version from 1.5 to the latest
|
||
|
1.7.1.
|
||
|
|
||
|
From https://golang.org/doc/install, one way to install the latest version of go is:
|
||
|
```
|
||
|
$ GO_VERSION=1.7.1
|
||
|
$ OS=linux
|
||
|
$ ARCH=amd64
|
||
|
$ curl -O https://storage.googleapis.com/golang/go${GO_VERSION}.${OS}-${ARCH}.tar.gz
|
||
|
$ sudo tar -C /usr/local -xzf go$GO_VERSION.$OS-$ARCH.tar.gz
|
||
|
$ # Put go on the PATH, keep the usual installation dir
|
||
|
$ sudo ln -s /usr/local/go/bin/go /usr/bin/go
|
||
|
$ rm go$GO_VERSION.$OS-$ARCH.tar.gz
|
||
|
```
|
||
|
|
||
|
Constraints
|
||
|
-----------
|
||
|
The grpc package should only depend on standard Go packages and a small number of exceptions. If your contribution introduces new dependencies which are NOT in the [list](http://godoc.org/google.golang.org/grpc?imports), you need a discussion with gRPC-Go authors and consultants.
|
||
|
|
||
|
Documentation
|
||
|
-------------
|
||
|
See [API documentation](https://godoc.org/google.golang.org/grpc) for package and API descriptions and find examples in the [examples directory](examples/).
|
||
|
|
||
|
Status
|
||
|
------
|
||
|
GA
|
||
|
|
||
|
FAQ
|
||
|
---
|
||
|
|
||
|
#### Compiling error, undefined: grpc.SupportPackageIsVersion
|
||
|
|
||
|
Please update proto package, gRPC package and rebuild the proto files:
|
||
|
- `go get -u github.com/golang/protobuf/{proto,protoc-gen-go}`
|
||
|
- `go get -u google.golang.org/grpc`
|
||
|
- `protoc --go_out=plugins=grpc:. *.proto`
|