在etc目录下有hello.yaml配置文件 ListenOn: 服务侦听在本地8080端口 Etcd:默认本地2379端,key为服务地址对应的key前缀用来标识服务
Name: hello.rpc
ListenOn: 127.0.0.1:8080
Etcd:
Hosts:
- 127.0.0.1:2379
Key: hello.rpc
因为依赖etcd所以需要先在本地启动etcd,etcd的使用请查看相关文档
修改logic下来SayHello方法
func (l *SayHelloLogic) SayHello(in *hello.HelloRequest) (*hello.HelloReply, error) {
return &hello.HelloReply{
Message: fmt.Sprintf("hello %s", in.Name),
}, nil
}
启动服务
go run hello.go
输出如下,表明服务启动成功
Starting rpc server at 127.0.0.1:8080...
ETCDCTL_API=3 etcdctl get hello.rpc --prefix
显示服务已经注册
hello.rpc/7587849401504590084
127.0.0.1:8080