Etcd安装及使用

文章介绍了如何在Docker环境中安装和启动Etcd服务,Etcd是一个基于gRPC的分布式键值存储系统,使用raft共识算法确保集群一致性。它利用wal进行预写式日志,通过snapshot实现数据同步,并基于boltdb提供事务支持。Etcd还支持通过WATCH命令进行key的变化监听。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

docker安装etcd

创建网络
docker network create app-tier --driver bridge
创建etcd容器
docker run --it --name Etcd-server --network app-tier --publish 2379:2379 --publish 2380:2380  --env ALLOW_NONE_AUTHENTICATION=yes  --env ETCD_ADVERTISE_CLIENT_URLS=http://etcd-server:2379 bitnami/etcd:latest
进入容器
docker exec --it Etcd-server

Etcd介绍

gRPC server: 用来处理客户端的连接,也用来处理集群其他节点之间的通信,都是采用protobuf来传输数据。
raft共识算法:用来保证集群一致性
wal(write ahead log):预写式日志实现事务日志的标准方法,两段式提交。执行写操作前先写日志,跟 mysql中 redo_log 类似,wal 实现的是顺序写,而若按照 B+ 树写,则涉及到多次 io 以及 随机写。
snapshot 快照数据:用于其他节点(新加入节点或从节点数据落后太多)同步主节点数据从而达到一致性地状态,类似 redis 中主从复制中 rdb 数据恢复。流程:leader生成 snapshot,leader向follower发送snapshot,follower接收并应用snapshot。
boltdb是一个单机的支持事务的 kv 存储,etcd 的事务是基于 boltdb 的事务实现的。boltdb 为每一个 key 都创建一个索引(B+树),该 B+ 树存储了 key 所对应的版本数据,所以可以通过这个B+树索引出历史信息

Etcd命令使用

增加或者修改key        PUT key val
查找key   GET key
范围查找,范围是左闭右开区间,key按字典序查找
GET keyfrom keyend
前缀索引  GET --prefix key
删除key  DEL key
监听,用来实现监听和推送服务
WATCH key
WATCH --prefix key
当监听的key发生变化(增删改)时,终端会输出这个变化的操作,注意不响应查找操作
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瞬间如金

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值