go语言下快速使用GRPC

1.准备环节:
该链接是grpc官方go语言快速开始的文档,没接触过grpc的同学看起来可能有点蒙,我建议还是应该反复看几遍。
grpc.io/docs/languages/go/quicksta...

首先文档中讲到了grpc所需的依赖:
    1.go语言环境
    2.Protocol buffer的编译器protoc, protoc是用来生成pb.go的一个工具,怎么安装呢?请看下面的链接:https://grpc.io/docs/protoc-installation/ 
    上面两步做完之后依赖就算搞定了

2.快速开始
准备环节搞定后就可以启动grpc的client和server了。
这里我使用的是官方的helloworld示例:
github.com/grpc/grpc-go/tree/maste...

我将helloworld示例单独抽离出来放到我的项目当中:
https://github.com/shubiao-yao/go-web-project/tree/master/grpc

GRPC目录构成:
如何在go-web项目中快速搭建GRPC?
可以看出在grpc/hellowrold目录下有hellowrold.proto文件,这个文件跟官方的是一样的,那么hellowrold.pb.go文件是怎么来的呢?这个文件是利用1中安装的protoc工具来生成的比如:
如何在go-web项目中快速搭建GRPC?
protoc的使用可以查阅下相关的教程和文档,这里我不做过多说明

grpc这个框架其实是基于http2协议做了一层封装,首先需要启动grpc的server端指定要监听的端口,client去链接server端的时候也需要指定ip和端口,在client.go和server.go中有相关的代码示例。

到这里就可以在本地运行起来grpc的server和client进行通信了

我这里写的helloworld.proto文件中比较简单,如果用于真实项目中可能还需要其它的一些内容,比如 option map 等语法,可以详细了解下google的protobuf协议。

文章写的比较粗糙,如果读者有什么疑问欢迎给我留言。

本作品采用《CC 协议》,转载必须注明作者和本文链接
shubiao-yao
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!