Skip to content

Commit acefc2e

Browse files
committed
修改雪花算法52位
1 parent da35345 commit acefc2e

File tree

24 files changed

+726
-497
lines changed

24 files changed

+726
-497
lines changed

all_packaged_library/registrySelector/registry.go

Lines changed: 0 additions & 129 deletions
This file was deleted.

all_packaged_library/registrySelector/registry_test.go

Lines changed: 0 additions & 61 deletions
This file was deleted.

all_packaged_library/registrySelector/selector.go

Lines changed: 0 additions & 133 deletions
This file was deleted.

etcd/register.go

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package main
2+
3+
import (
4+
"context"
5+
clientv3 "go.etcd.io/etcd/client/v3"
6+
"log"
7+
)
8+
9+
type Register struct {
10+
etcdCli *clientv3.Client
11+
leaseID clientv3.LeaseID
12+
keepAliveChan <-chan *clientv3.LeaseKeepAliveResponse
13+
key string
14+
weight string
15+
}
16+
17+
func NewRegister(etcdCli *clientv3.Client, addr, weigit string, ttl int64) (*Register, error) {
18+
s := &Register{
19+
etcdCli: etcdCli,
20+
key: "123123123123123123123",
21+
weight: weigit,
22+
}
23+
resp, err := etcdCli.Grant(context.Background(), ttl)
24+
if err != nil {
25+
return s, err
26+
}
27+
_, err = etcdCli.Put(context.Background(), s.key, s.weight, clientv3.WithLease(resp.ID))
28+
if err != nil {
29+
return s, err
30+
}
31+
leaseRespChan, err := etcdCli.KeepAlive(context.Background(), resp.ID)
32+
if err != nil {
33+
return s, err
34+
}
35+
s.leaseID = resp.ID
36+
s.keepAliveChan = leaseRespChan
37+
log.Printf("Put key:%s weight:%s success!", s.key, s.weight)
38+
return s, nil
39+
}
40+
41+
func (s *Register) ListenLeaseRespChan() (isClose bool) {
42+
for range s.keepAliveChan {
43+
}
44+
return true
45+
}
46+
47+
// Close 注销服务
48+
func (s *Register) Close() error {
49+
if _, err := s.etcdCli.Revoke(context.Background(), s.leaseID); err != nil {
50+
return err
51+
}
52+
log.Println("撤销租约")
53+
return s.etcdCli.Close()
54+
}

0 commit comments

Comments
 (0)