Etcd租约续期的问题

ashciffer · · 1289 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

--------------- 最近在用Etcd做服务注册和发现的时候发现了一些问题,一直没有头绪,希望各位大佬给点建议,下面直接上代码(逻辑代码已删除) ```golang resp, err := sdk.client.Grant(context.TODO(), 60) if err != nil { log4.Info(" createServerInfo %s Grant error [%v]", pull_path, err) return err } _, err = sdk.client.Put(context.TODO(), pull_path, string(data), etcd.WithLease(resp.ID)) if err != nil { log4.Info("createServerInfo %s Put error [%v]", pull_path, err) return err } ctx, cancelFunc := context.WithCancel(context.TODO()) ch, err := sdk.client.KeepAlive(context.TODO(), resp.ID) if err != nil { log4.Info(" createServerInfo %s KeepAlive error [%v]", pull_path, err) return err } ``` 我对`KeepAlive`返回的channel做了监听,如果channel关闭会重新注册该路径,但是做压测是时候发现,在服务注册量很大的时候(>1W+),这个channel会一直频繁被关闭,导致服务一直重新注册~ 请问大家有什么解决办法嘛

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1289 次点击  
加入收藏 微博
1 回复  |  直到 2019-04-12 16:19:26
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传