前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >etcd简单介绍

etcd简单介绍

原创
作者头像
用户10756793
修改2023-09-16 17:24:52
4570
修改2023-09-16 17:24:52
举报
文章被收录于专栏:大厂程序员

一、etcd是什么   etcd是一个分布式的、高可用的、一致的key-value存储数据库,基于Go语言实现,主要用于共享配置和服务发现。

二、为什么需要etcd   在分布式系统中,各种服务配置信息的管理共享和服务发现是一个很基本也是很重要的问题。etcd可集中管理配置信息,服务端将配置信息存储于etcd,客户端通过etcd得到服务配置信息,etcd监听配置信息的改变,发现改变通知客户端。 为了防止单点故障,还可启动多个etcd组成集群。etcd集群使用raft一致性算法处理日志复制,保证多节点数据的强一致性。

三、etcd的raft算法 1. 主节点选举   etcd集群中有一个主节点(leader,负责写操作),多个从节点(follower,负责读操作)。主节点会发送心跳包给从节点,从节点进行响应。从节点若超过一定时间(一定范围内的随机值)没有收到主节点的心跳包,则认为主节点已不可用,自身可成为候选主节点(candidate),发起投票,若超过一半节点响应,则可成为新的主节点(可能会有几轮争夺)。在每一轮投票中,参与投票的所有节点,只响应收到的第一个投票请求,对后续请求不作响应。 2. 数据更新 (1)第一阶段:主节点将修改记录到本地日志,并将日志复制给所有从节点,若超过一半节点响应,则认为操作成功,通知客户端。 (2)第二阶段:主节点提交本地修改(持久化到磁盘),通知所有从节点也进行数据修改提交。

四、安装 1. 下载etcd https://github.com/etcd-io/etcd/releases 2. 安装etcd 解压文件,添加可执行文件路径到环境变量PATH中。 3. 下载并安装etcd-manager(etcd的可视化客户端) https://etcdmanager.io/

五、简单操作 1. 启动etcd

默认端口为2379。 进入etcd安装目录,etcdctl客户端可用于请求etcd。 2. 查询版本号

3. 键值添加与查询

4. 在etcd-manager中查询:

我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档