常用命令
查看rpc已注册的rpc服务
如果你的服务使用的前缀是/services/grpc/,你可以这样查询:
1
etcdctl get /services/grpc/ --prefix --keys-only #这个命令会列出所有以/services/grpc/为前缀的键,这通常包含了注册的服务信息。
如果你想要查看键的值(通常包含服务的地址和端口),可以移除–keys-only选项
1
etcdctl get /services/grpc/ --prefix
如果你在编程中需要查询etcd中的gRPC服务信息,可以使用相应的etcd客户端库。以下是使用Go语言etcd客户端库的一个简单例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31package main
import (
"context"
"log"
"go.etcd.io/etcd/client/v3"
)
func main() {
cli, err := clientv3.New(clientv3.Config{
Endpoints: []string{"localhost:2379"},
DialTimeout: 5 * time.Second,
})
if err != nil {
log.Fatal(err)
}
defer cli.Close()
// Replace with the appropriate prefix used by your services
servicePrefix := "/services/grpc/"
resp, err := cli.Get(context.Background(), servicePrefix, clientv3.WithPrefix())
if err != nil {
log.Fatal(err)
}
for _, kv := range resp.Kvs {
log.Printf("key: %s, value: %s\n", kv.Key, kv.Value)
}
}