grpc-go的hello_world

1. gRPC简介html

gRPC是一个高性能、开源和通用的RPC框架,面向移动和HTTP/2设计。目前提供C、Java和Go语言版本,分别是grpc、grpc-java、grpc-go。gRPC基于HTTP/2标准设计,带来诸如双向流、流控、头部压缩、单TCP链接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。gRPC由google开发,是一款语言中立、平台中立、开源的远程过程调用系统。java

2. gRPC是什么python

在gRPC里客户端应用能够像调用本地对象同样直接调用另外一台不一样机器上服务端应用的方法,使得你可以更容易地建立分布式应用和服务。与许多RPC系统相似,gRPC也是基于这样的理念:
定义一个服务,指定其可以被远程调用的方法(包括参数和返回类型)。
在服务端实现这个接口,并运行一个gRPC服务器来处理客户端调用。
在客户端拥有一个存根可以像服务端同样的方法。
gRPC客户端和服务端能够在多种环境中运行和交互,从google内部的服务器到你的笔记本,而且可使用任何gRPC支持的语言编写。
因此你能够很容易滴用Java建立一个gRPC服务端,用go、python、ruby来建立客户端。
此外,google最新api将有gRPC版本的接口,使你很容易地将Google的功能集成到你的应用中。git

3. gRPC-go之环境搭建github

  • 事前要求:Go版本至少为1.6 
  • 安装gRPC:go get -u google.golang.org/grpc
  • 安装Protocol Buffers v3:用于生产gRPC服务代码的protoc编译器,安装过程以下:
  1. 打开 https://github.com/google/protobuf/releases ,可下载最新版本的源码而后编译安装(目前最新:protobuf-cpp-3.6.1.zip)
  2. 解压已下载的文件,依次执行:./configure  ==>  make ==> make install
  • 安装go的protoc插件:go get -u github.com/golang/protobuf/protoc-gen-go
  • 下载Demo程序:安装gRPC的包中就包含了Demo程序了,按如下步骤执行Demo:
  1. cd $GOPATH/src/google.golang.org/grpc/examples/helloworld/helloworld
  2. go run greeter_server/main.go
  3. go run greeter_client/main.go
  4. 在客户端可输出:Greeting: Hello world
  5. 可基于 文档 自行更新该例子,可输出以下:

   

4. 小结golang

  虽然以前没使用过gRPC,可是通过一小时的学习与实践,加之以前多年的开发经验(C、C++、Go),其实学一个新的知识点并不难。接下来可在实践中多体验及深刻了解gRPC。api

5. 参考资料ruby

相关文章
相关标签/搜索