ETCD 的主要组件及它们之间的关联关系如下:
目录
1. Client(客户端)
- 作用:客户端通过 gRPC 协议与 ETCD 服务器进行通信,发送请求(例如键值存储、查询、删除等操作)。
- 关联:客户端通过 gRPC 接口将请求发送到 ETCD 服务器。
2. gRPC 接口
- 作用:gRPC 是 ETCD 对外提供服务的通信接口,负责接收客户端请求并将请求交给 ETCD 服务的主循环进行处理。
- 关联:gRPC 接口是客户端与 ETCD 服务主循环的桥梁,提供了高效的 RPC 通信机制。
3. Etcd Server Main Loop(ETCD 主循环)
- 作用:ETCD 的主循环负责处理客户端请求,包括键值存储、事务操作等。它会将请求进一步传递给 Raft 模块或 MVCC 存储层。
- 关联:
- 将写请求交给 Raft 模块 处理。
- 通过 MVCC 管理键值数据的版本。
- 数据持久化到 WAL 和 BoltDB。