ETCD 源码学习--简述(一)

本文是ETCD源码学习的第一篇,主要介绍其关键组件,包括Storage的内存与磁盘存储、Transport的数据传输机制、Server的httpServer和grpc Server、Monitor的服务监控、Raft协议实现及Node、RaftNode的角色。ETCDServer作为顶层组件协调各部分工作,提供一个完整的ETCD服务。
摘要由CSDN通过智能技术生成

前段时间认真学习了 ETCD 源码实现,往后的一段时间,会陆陆续续的写一些学习记录。

ETCD 的使用方法、用途等,可以通过 Google 或者百度查询,这里只是记录源码相关的学习,如有错误,欢迎指正。

本章主要介绍 ETCD 的主要几个组成部分。

ECTD主要包括以下几个部分:

Storage

存储包括两部分组成,内存和磁盘。

index:键值索引(MVCC 多版本控制)

kv:原始键值对(MVCC 多版本控制)

snaphot:数据快照

metadata:元数据,主要记录当前节点的状态信息。

 

Transport

Transport 主要实现数据传输,其中包括两种传输方式,一是长连接(数据传输完成不关闭),二是短链接(数据传输完成就关闭)。

短连接主要用于传输大数据,比如数据快照。

Server

httpServer 或 grpc Server,用于接收外部请求。

Monitor

服务监控模块,各个模块上报自身状态数据,用户可以通过特定地址,查看服务的运行状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值