xiufeigo™
Home
ETCD
01|ETCD 的基础架构

基础架构

ETCD 简要架构图

如图,按照分层模型,etcd 可以分为一下基层:

  • Client 层:Client 层提供了简洁易用的 API,同时支持负载均衡、节点间故障自动转移,可极大降低业务使用 ETCD 复杂度,提高开发效率和服务可用性。

  • API 网络层:API 网络层主要包括 Client 访问 Server 和 Server 节点之家你的通信协议,包括 HTTP/1.x 协议、GRPC 协议以及通过 Raft 算法实现数据复制和 Leader 选举功能时使用的 HTTP 协议。

  • Raft 算法层:实现了 Leader 选举、日志复制、ReadIndex 等核心算法特性,用于保障 ETCD 多个节点间的数据一致性、提升服务可用性等,是 ETCD 的基石和亮点

  • 功能逻辑层:ETCD 核心特性实现层,如典型的 KVServer 模块、MVCC 模块、Auth 鉴权模块、Lease 租约模块、Compactor 压缩模块。其中 MVCC 模块主要由 treeIndex 模块和 boltdb 模块组成。

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


本文内容摘抄自极客时间专栏 etcd 实战课

粤ICP备2022009857号-1