ETCD(一)简介

简介: ETCD(一)简介

1. ETCD是什么

etcd 是一个分布式键值对存储,设计用来可靠而快速的保存关键数据并提供访问。和数据库一样都是用来存数据的,但是etcd有自己的特点,因此有自己的使用场景。

2. etcd 特点

  1. 完全复制,集群中的每个节点均拥有全量数据
  2. 强一致性,etcd通过raft共识算法保证集群数据的一致性
  3. 数据结构简单,仅字符串格式
  4. 可存储的数据量较少
  5. 主要是考虑强一致性,写入速度相对redis慢很多。

3. etcd的使用场景

  1. 服务注册与服务发现
  2. 分布式配置中心 (通过watch来监听一组key值的变化)
  3. 分布式锁
  4. 分布式选主
  5. 读多写少的场景

最重要的场景还是在分布式配置场景中,以及服务注册和服务发现。因为ETCD的强一致性的特点,我们在配置分布式集群时使用到的配置文件信息,例如IP、端口等信息可以放在etcd中,当有新的服务Server出现,或者集群有服务配置修改,我们其他节点都能马上收到信息去处理。

在分布式场景中还有zookeeper也使用的非常多,和etcd是一样的作用。zookeeper使用的场景,etcd都可以使用。zookeeper比较早,所以很多主流的分布式框架都用的zookeeper,比如kafka。而etcd算是后起之秀,未来可期。etcd相对于zookeeper性能更好。zookeeper是Java系的,而etcd是go语言的,也需要看应用场景来考虑使用哪个。

架构图

  1. Leader:Raft算法中通过竞选而产生的处理所有数据提交的节点
  2. Follower:竞选失败的节点作为Raft中的从属节点,为算法提供强一致性保证
  3. BoltDB:一个支持事务的KV存储引擎,用于对ETCD数据的持久化,支持并发读事务,串行写事务
  4. WAL 预写式日志:etcd中的数据提交都会先记录到日志,日志成功后才会做数据持久化
  5. Snapshot,快照:防止WAL日志过多,用于存储某一时刻etcd的所有数据,可用于节点故障恢复(比如每产生1w次提交,即写1w次日志,做一次快照)
  6. gRPC Server:节点与节点,节点与客户端通过gRPC 通信和信息同步,每个节点都是一个gRPC 服务器
  7. Raft:共识算法,etcd数据强一致性的保障
  8. Client:etcd客户端,可以是命令行客户端 etcdctl ,也可以是各个语言版本的client库,可通过grpc与http与server端通信
目录
相关文章
|
JavaScript
TypeScript中模块的导入与导出技术详解
【4月更文挑战第23天】TypeScript模块化通过`export`和`import`实现代码组织。导出包括变量、函数、类、接口,支持命名导出和默认导出。导入时,命名导出使用花括号指定成员,默认导出直接引用,还可使用`as`重命名。模块机制促进代码复用、解耦,提升可维护性。理解并运用这些技术对构建大型应用至关重要。
|
Kubernetes 网络协议 网络安全
提升你的云技能:深入了解CKA认证之k8s升级秘籍!
提升你的云技能:深入了解CKA认证之k8s升级秘籍!
431 0
|
机器学习/深度学习 人工智能 算法
阿里通义最新黑科技!“通义舞王”:让静态照片翩翩起舞,探索艺术与科技的无限可能
【1月更文挑战第2天】在科技日新月异的时代,艺术创作的疆界正以前所未有的速度拓展,,从AI作曲和音乐生成技术带来的跨风格音乐作品,到基于人工智能的诗歌与文学创作,艺术不再仅仅是人类个体情感与才华的体现,而成为人机交互、数据智能与创新思维相互融合的新领域。 近日,阿里云再次引领创新潮流,推出一款令人叹为观止的AI黑科技——通义舞王
阿里通义最新黑科技!“通义舞王”:让静态照片翩翩起舞,探索艺术与科技的无限可能
|
虚拟化 Windows
Hyper-v虚拟机安装Windows 11失败问题处理(一)
Hyper-v虚拟机安装Windows 11失败问题处理
3628 0
Hyper-v虚拟机安装Windows 11失败问题处理(一)
|
存储 弹性计算 运维
阿里巴巴云原生 etcd 服务集群管控优化实践
这些年,阿里云原生 etcd 服务发生了翻天覆地的变化,这篇文章主要分享一下 etcd 服务在面对业务量大规模增长下遇到的问题以及我们是如何解决的,希望对读者了解 etcd 的使用和管控运维提供经验分享。
阿里巴巴云原生 etcd 服务集群管控优化实践
|
存储 监控 算法
[etcd]简介与安装
[etcd]简介与安装
264 0
|
10月前
|
机器学习/深度学习 人工智能 并行计算
Unsloth:学生党福音!开源神器让大模型训练提速10倍:单GPU跑Llama3,5小时变30分钟
Unsloth 是一款开源的大语言模型微调工具,支持 Llama-3、Mistral、Phi-4 等主流 LLM,通过优化计算步骤和手写 GPU 内核,显著提升训练速度并减少内存使用。
1450 3
Unsloth:学生党福音!开源神器让大模型训练提速10倍:单GPU跑Llama3,5小时变30分钟
|
存储 Kubernetes 监控
etcd:分布式键值存储系统技术
`etcd` 是一个用于共享配置和服务发现的高度可用键值存储系统,基于Raft算法保证数据一致性。它提供HTTP/GRPC API,常用于服务发现、配置共享和分布式锁。etcd集群包含多个节点,每个节点可为领导者或跟随者。在Kubernetes中,etcd存储集群状态,其稳定性和一致性至关重要。维护etcd涉及备份、状态监控、日志审计和安全措施。
636 2
|
存储 Kubernetes NoSQL
在K8S中,etcd是什么类型数据库?
在K8S中,etcd是什么类型数据库?
|
存储 算法 开发者
etcd入门指南
etcd入门指南
788 4
etcd入门指南