etcd的备份与恢复

一 为什么使用etcd

与ZooKeeper相比,etcd更简单,安装、部署和使用更加容易,并且etcd的某些功能是ZooKeeper所没有的。因此,在很多场景下,etcd 比ZooKeeper更受用户的青,具体表现在如下几个方面:

1 etcd更加稳定可靠,它的唯一目标就是把分布式一致性KV存储做到极致,所以它更注重稳定性和扩展性。

在服务发现的实现上,etcd使用的是节点租约(Lease),并且支持Group(多key);而ZooKeeper使用的是临时节点,临时节点存在不少的问题。

etcd支持稳定的 watch,而不是ZooKeeper一样简单的单次触发( one time trigger )watch。因为在微服务的环境下,通过调度系统的调度,一个服务随时可能会下线,也可能为应对临时访问压力而增加新的服务节点,而很多调度系统是需要得到完整节点历史记录的,在这方面,etcd可以存储数十万个历史变更。

  • etcd支持MVCC(多版本并发控制),因为有协同系统需要无锁操作。
  • etcd支持更大的数据规模,支持存储百万到千万级别的key。
  • 相比ZooKeeper,etcd 的性能更好。在一个由3台8核节点组成的云服务器上,etcd v3版本可以做到每秒数万次的写操作和数十万次的读提作。

二 上图是etcd基础架构图,按照分层模型,etcd可分为

  • 客户端(Client)层、
  • API(API)网络层、
  • Raft(Raft)算法层、
  • 逻辑层和存储层   功能如下:

客户端(Client)层:客户端(Client)层包括客户端v2和v3两个大版本API(API)客户端库,提供了简洁易用的API,同时支持负载均衡、节点间故障自动转移,可极大降低业务使用etcd复杂度,提升开发效率、服务可用性。

·API网络层:API网络层主要包括客户端访问服务器和服务器节点之间的通信协议。一方面,客户端访问etcd服务器的API分为v2和v3两个大版本。V2API使用HTTP/1.x协议,V3API使用gRPC协议。同时v3通过网关组件也支持HTTP/1.x协议,便于各种语言的服务调用。另一方面,服务器之间通信协议,是指节点间通过(Raft)算法实现数据复制和领导者(Leader)选举等功能时使用的HTTP协议。

·Ratt(Raft)算法层:Raft(Raft)算法层实现了领导者(Leader)选举、日志复制、阅读指数(Readindex)等核心算法特性,用于保障eicd多个节点间的数据一致性、提升服务可用性等,是ejcd的基石和亮点。

功能逻辑层:etcd核心特性实现层,如典型的KVServer模块、MVCC模块、Auth鉴权模块、Lease(Lease)租约模块、Compater压缩模块等,其中MVCC模块主要由Tree ndex模块和Boltdb模块组成。

·存储层:存储层包含预写日志(WAL)模块、快照(Snapshot)模块、boltdb模块。其中WAL可保障etcd崩溃后数据不丢失,boltdb则保存了集群元数据和用户写入的数据。

相关推荐

  1. 【云原生】Kubernetes----ETCD数据备份恢复

    2024-07-12 17:28:03       16 阅读
  2. k8s etcd备份恢复

    2024-07-12 17:28:03       46 阅读
  3. apisix 官方example,单机dockeretcd备份恢复

    2024-07-12 17:28:03       54 阅读
  4. MySQL恢复备份

    2024-07-12 17:28:03       40 阅读
  5. MySQL备份恢复

    2024-07-12 17:28:03       45 阅读
  6. mongodb备份恢复

    2024-07-12 17:28:03       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 17:28:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 17:28:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 17:28:03       58 阅读
  4. Python语言-面向对象

    2024-07-12 17:28:03       69 阅读

热门阅读

  1. RabbitMQ 高级功能

    2024-07-12 17:28:03       21 阅读
  2. 【QT学习十五】 QT绘图

    2024-07-12 17:28:03       23 阅读
  3. 3213. 最小代价构造字符串

    2024-07-12 17:28:03       20 阅读
  4. 基于 SD 卡的 FatFs 文件系统

    2024-07-12 17:28:03       20 阅读
  5. 拥抱变革,AI工作新纪元

    2024-07-12 17:28:03       20 阅读
  6. 【若依】打开一个新页面

    2024-07-12 17:28:03       22 阅读
  7. Linux跨服务器文件传输

    2024-07-12 17:28:03       21 阅读
  8. 软设之享元模式

    2024-07-12 17:28:03       20 阅读
  9. 3179. K 秒后第 N 个元素的值

    2024-07-12 17:28:03       22 阅读