286f6dbe
zhangqijia
etcd 保存服务信息
|
1
2
3
4
5
6
7
|
package etcd
import (
"context"
"fmt"
"go.etcd.io/etcd/api/v3/mvccpb"
clientv3 "go.etcd.io/etcd/client/v3"
|
765431a4
zhangqijia
增加schema接口, 抽象 mo...
|
8
9
|
"pro2d/common"
"pro2d/common/logger"
|
286f6dbe
zhangqijia
etcd 保存服务信息
|
10
11
12
13
|
"testing"
)
func TestEtcdClient_GetByPrefix(t *testing.T) {
|
f415f471
zhangqijia
fix: roleID自增加上限制...
|
14
|
err := NewEtcdClient(common.GlobalConf.Etcd)
|
3f0a1991
zhangqijia
del test plugin
|
15
16
17
18
|
if err != nil {
logger.Error(err)
return
}
|
f415f471
zhangqijia
fix: roleID自增加上限制...
|
19
|
gameInfo := GEtcdClient().GetByPrefix(common.GlobalConf.AccountConf.Name)
|
286f6dbe
zhangqijia
etcd 保存服务信息
|
20
|
for k, v := range gameInfo {
|
cad2b7f3
zhangqijia
reactor: 重构目录, 重构...
|
21
|
logger.Debug("game info key: %v val: %v", k, v)
|
286f6dbe
zhangqijia
etcd 保存服务信息
|
22
23
|
}
|
f415f471
zhangqijia
fix: roleID自增加上限制...
|
24
|
rch := GEtcdClient().etcd.Watch(context.Background(), fmt.Sprintf("/%s/", common.GlobalConf.AccountConf.Name), clientv3.WithPrefix())
|
286f6dbe
zhangqijia
etcd 保存服务信息
|
25
26
27
28
29
|
go func() {
for wresp := range rch {
for _, ev := range wresp.Events {
switch ev.Type {
case mvccpb.PUT: //修改或者新增
|
cad2b7f3
zhangqijia
reactor: 重构目录, 重构...
|
30
|
logger.Debug("account put key: %s val: %s", ev.Kv.Key, ev.Kv.Value)
|
286f6dbe
zhangqijia
etcd 保存服务信息
|
31
|
case mvccpb.DELETE: //删除
|
cad2b7f3
zhangqijia
reactor: 重构目录, 重构...
|
32
|
logger.Debug("account delete key: %s val: %s", ev.Kv.Key, ev.Kv.Value)
|
286f6dbe
zhangqijia
etcd 保存服务信息
|
33
34
35
36
37
|
}
}
}
}()
|
f415f471
zhangqijia
fix: roleID自增加上限制...
|
38
|
game := GEtcdClient().etcd.Watch(context.Background(), fmt.Sprintf("/%s/", common.GlobalConf.GameConf.Name), clientv3.WithPrefix())
|
286f6dbe
zhangqijia
etcd 保存服务信息
|
39
40
41
42
|
for wresp := range game {
for _, ev := range wresp.Events {
switch ev.Type {
case mvccpb.PUT: //修改或者新增
|
cad2b7f3
zhangqijia
reactor: 重构目录, 重构...
|
43
|
logger.Debug("game put key: %s val: %s", ev.Kv.Key, ev.Kv.Value)
|
286f6dbe
zhangqijia
etcd 保存服务信息
|
44
|
case mvccpb.DELETE: //删除
|
cad2b7f3
zhangqijia
reactor: 重构目录, 重构...
|
45
|
logger.Debug("game delete key: %s val: %s", ev.Kv.Key, ev.Kv.Value)
|
286f6dbe
zhangqijia
etcd 保存服务信息
|
46
47
48
49
50
|
}
}
}
}
|