gRPC-Go基础(0)基础知识

344 阅读1分钟

基础简介

gRPC

gRPC是Google发起的、开源的、高性能远程过程调用(RPC)框架系统,该系统基于HTTP/2协议传输,使用Protocol Buffer作为接口描述语言。

在gRPC中,客户端程序可以像调用函数一样地调用不同机器上的应用程序,其客户端和服务端可以在各种gRPC支持的语言的环境之间互相通信,如下图所示:

landing-2.svg

Protocol Buffers

Protocol Buffers是谷歌发起的开源的, 语言无关、平台无关、可扩展的序列化结构化数据的协议。其具有性能好,效率高,且具有代码生成机制的优点,gRPC默认以Protocol Buffer作为接口描述语言。

gRPC和Go

gRPC支持多种语言,其中就包括golang,有关golang和grpc相关的官方资料详见google.golang.orggrpc-go

环境搭建

以上对gRPC做了简单的介绍,下面将介绍一下gRPC-Go的开发环境搭建,详情见Quick start

Go环境搭建

下载地址:releases of Go

安装教程:Getting Started**

protoc安装

protoc工具可以通过相关插件将proto文件(.proto后缀)编译成不同语言的代码。

下载地址:protocol-buffer download

安装教程:Protocol Buffer Compiler Installation

Go插件安装

protoc-gen-go插件生成xxx.pb.go,protoc-gen-go-grpc插件生成xxx_grpc.pb.go

  1. 安装
$ go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28
$ go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2
  1. 更新PATH
$ export PATH="$PATH:$(go env GOPATH)/bin"

另外,在用到gateway的项目中还需要用到protoc-gen-grpc-gateway插件,参数校验可能用到protoc-gen-validate插件等。

至此,基本的gRPC开发环境就搭建好了,接下来就可以进行gRPC的项目开发了。