
etcd
文章平均质量分 71
adream307
这个作者很懒,什么都没留下…
展开
-
etcd revision 测试
docker-compose启动 etcd 集群docker-compose -f etcd-only.yml up -detcd-only.yml,设置 snapshot 为100,即每 100 个修改,产生一次 snapshot,清除 WALversion: '3.5'services: machine-1: image: quay.io/coreos/etcd:v3.4.9 hostname: machine-1 container_原创 2021-03-16 16:32:59 · 1546 阅读 · 0 评论 -
etcd 分布式锁实现原理
docker 启动 etcddocker run --rm -p 2379:2379 -p 2380:2380 --name etcd \quay.io/coreos/etcd:v3.4.9 etcd \--name node1 \--initial-advertise-peer-urls http://127.0.0.1:2380 \--listen-peer-urls http://0.0.0.0:2380 \--advertise-client-urls http://127.0.0.1:原创 2020-11-02 17:25:34 · 1058 阅读 · 0 评论 -
[etcd] WithMaxCreateRev 和 WithRev 的区别
阅读 etcd 分布式锁 mutex 的源码时,遇到 waitDeletes 函数func waitDeletes(ctx context.Context, client *v3.Client, pfx string, maxCreateRev int64) (*pb.ResponseHeader, error) { getOpts := append(v3.WithLastCreate(), v3.WithMaxCreateRev(maxCreateRev)) for { resp, err :原创 2020-08-26 11:06:00 · 749 阅读 · 0 评论 -
[etcd] 使用 Txn 一次性插入多个语句
etcd 使用 Txn 提供简单的事务处理,使用这个特性,可以一次性插入多条语句,测试代码如下:package mainimport ( "context" "fmt" "go.etcd.io/etcd/clientv3" "log")func main() { endpoints := []string{"127.0.0.1:10001", "127.0.0.1:10002", "127.0.0.1:10003"} cli, err := clientv3.New(clientv3原创 2020-08-25 10:27:27 · 1985 阅读 · 0 评论 -
[etcd] 删除后重新插入,版本号重新计数
在 etcd 中,数据删除后重新插入,对应的版本号重新计算,测试代码如下:$ etcdctl --endpoints=http://127.0.0.1:10001 put k1 v1 -w json{"header":{"cluster_id":18293669711776909085,"member_id":8241799522139745222,"revision":2,"raft_term":2}}$ etcdctl --endpoints=http://127.0.0.1:10001 put原创 2020-08-24 14:30:30 · 410 阅读 · 0 评论