## 一、创建微服务项目
micro new service(此处为项目名,可随意命名)
创建成功后,出现以下文件
文件报红是因为我们还没对proto文件进行编译。
二、修改文件
找到proto目录下的proto文件,对其进行修改,当然也可以不修改,这里我根据项目需要,把他修改成了以下代码.
信息体可以自行修改,我这里因为项目中要注册一个自动生成图片验证码得微服务,我对其进行了相应的修改如下。
之后可以使用命令
make proto
编译proto文件,省去了一些比较繁琐得步骤,编译成功后生成如下两个文件
其中 service.pb.go文件我们其实是用不上得,但是不能删除,因为我们得其他文件要依赖于它,否则会报错,我们重点根据service.pb.micro.go文件进行相应操作。
打开我们得handle下面的service文件,对其修改,只留下call函数即可
然后把我们事先准备好的验证码代码放入其中
然后,我们对客户端web进行操作。
三、客户端进行服务注册
3.1 初始化consul对象并注册
因为go-micro默认自带的服务发现为mdns,有局限性,只能发现局域网内的服务,所以我们改用consul服务发现
打开我们得main文件,进行以下改动
func main() {
registry := consul.NewRegistry()
rpcServer := server.NewServer(
server.Name("registry-consul.service"),
server.Address("0.0.0.0:8001"),
server.Registry(registry),
)
proto.RegisterHelloHandler(rpcServer, &Hello{})
service := micro.NewService(
micro.Server(rpcServer),
)
service.Init()
// Run server
if err := service.Run(); err != nil {
logger.Fatal(err)
}
}