启动go micro服务
创建好项目后,使用go mod init <项目名>生成一个go.mod文件
获取micro工具包
go get github.com/micro/micro
获取protoc-gen-go(通过此可以直接生成go语言对应的编译代码)
go get github.com/micro/protobuf/{
proto,protoc-gen-go}
启动Consul(使用consul作为注册中心注册所有服务)
docker run consul
编写greeter.proto文件
syntax = "proto3";
service Greeter {
rpc Hello(HelloRequest) returns (HelloResponse) {
}
}
message HelloRequest {
string name = 1;
}
message HelloResponse {
string greeting = 2;
}
使用protoc命令生成编译文件
protoc --micro_out=. --go_out=. ./proto/greeter.proto
protoc --micro_out=. --go_out=<生成的目录> <.proto的目录>
编写handler和service
package handler
import (
"context"
"micro/greeter-srv/service"
greeter "micro/proto"
)
type handler struct {
}
func (h *handler) Hello(ctx context.Context, request *greeter.HelloRequest, response *greeter.HelloResponse