Skip to content
This repository has been archived by the owner on Sep 15, 2023. It is now read-only.

Commit

Permalink
Merge pull request #106 from askuy/feature/optimizek8swatch
Browse files Browse the repository at this point in the history
fix etcd registry ttl
  • Loading branch information
askuy authored May 28, 2021
2 parents cc68121 + 96196e4 commit bbe3515
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 2 deletions.
1 change: 1 addition & 0 deletions eetcd/examples/server/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
[etcd]
addrs=["127.0.0.1:2379"]
[registry]
#ServiceTTL = "10s"
connectTimeout = "1s"
secure = false
11 changes: 11 additions & 0 deletions eetcd/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## 查看全部租期
```
# 查看全部租期
etcdctl lease list
found 1 leases
694d79ada4e6c82c
# 查看某个租期信息
etcdctl lease timetolive 694d79ada4e6c82c --keys
lease 694d79ada4e6c82c granted with TTL(10s), remaining(9s), attached keys([/ego/main/providers/grpc://0.0.0.0:9003])
```

4 changes: 2 additions & 2 deletions eetcd/registry/component.go
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,6 @@ func (reg *Component) registerMetric(ctx context.Context, info *server.ServiceIn
key := fmt.Sprintf(metric, info.Name, val)

opOptions := make([]clientv3.OpOption, 0)
// opOptions = append(opOptions, clientv3.WithSerializable())
if ttl := reg.Config.ServiceTTL.Seconds(); ttl > 0 {
//todo ctx without timeout for same as service life?
sess, err := reg.getSession(key, concurrency.WithTTL(int(ttl)))
Expand Down Expand Up @@ -230,6 +229,7 @@ func (reg *Component) registerBiz(ctx context.Context, info *server.ServiceInfo)
if err != nil {
return err
}

opOptions = append(opOptions, clientv3.WithLease(sess.Lease()))
}
_, err := reg.client.Put(readCtx, key, val, opOptions...)
Expand All @@ -249,7 +249,7 @@ func (reg *Component) getSession(k string, opts ...concurrency.SessionOption) (*
if ok {
return sess, nil
}
sess, err := concurrency.NewSession(reg.client.Client)
sess, err := concurrency.NewSession(reg.client.Client, opts...)
if err != nil {
return sess, err
}
Expand Down

0 comments on commit bbe3515

Please sign in to comment.