前言
微服务相关
使用 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 -u google.golang.org/grpc
创建项目
模拟微服务开发,在某个空文件夹下建立两个文件夹
分别为 client
和 server
创建 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 的通信协议,业务代码不在这里,所以除非必须改,否则勿动