首页 > 其他 > 详细

Go GRPC 入门

时间:2020-01-13 18:33:07      阅读:108      评论:0      收藏:0      [点我收藏+]

前言

微服务相关
使用 GRPC 通讯的 Golang 微服务入门
举例写一个微服务,接收网址发送请求获取返回结果返回

正文

安装工具

安装 protobuf

这是 proto 文件的编译器
点我下载
选择最新的 releases 中的适合你版本的包下载即可
如 windows 选 win64.zip 下载后解压
技术分享图片
解压后打开包内的 bin 文件夹,里面有 protoc.exe
技术分享图片
将其粘贴到windows的环境变量中的某一个文件夹内以便在 CMD 中随地可访问
比如将其放至 C:\Windows
打开 CMD 输入 protoc --version
成功打印当前版本即可
技术分享图片

安装相关包

安装 golang 的proto相关支持库
go get -u github.com/golang/protobuf/proto
安装 goalng 的proto编译支持
go get -u github.com/golang/protobuf/protoc-gen-go
安装 GRPC
go get google.golang.org/grpc

创建项目

模拟微服务开发,在某个空文件夹下建立两个文件夹
分别为 clientserver

创建 proto 文件

proto 文件是微服务交互的基本
proto的语法可见
GoogleDocs
这里简单写一个示例(spider.proto)

syntax = "proto3";  // 协议为proto3

package spider;  // 包名

// 发送请求
message SendAddress {
    // 发送的参数字段
    // 参数类型 参数名 标识号(不可重复)
    string address = 1;  // 要请求的地址
    string method = 2;  // 请求方式
}

// 返回响应
message GetResponse {
    // 接收的参数字段
    // 参数类型 参数名 标识号
    int32 httpCode = 1;  // http状态码
    string response = 2;  // 返回体
}

// 定义服务,可定义多个服务,每个服务可多个接口
service GoSpider {
    // rpc请求 服务名 (发送请求的函数) returns (返回响应的函数)
    rpc GetAddressResponse (SendAddress) returns (GetResponse);
}

生成 .bp.go 文件

使用刚才下载的 protoc 工具将 proto 文件编译成 golang 可识别的文件

                            输出的目录 proto所在目录
protoc --go_out=plugins=grpc:./ ./spider.proto

运行后会在当前目录下生成 spider.pb.go 文件
该文件是 server 和 client 的通信协议,业务代码不在这里,所以除非必须改,否则勿动

编写 server 端代码

Go GRPC 入门

原文:https://www.cnblogs.com/chnmig/p/12188604.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!