这是我参与「第五届青训营 」笔记创作活动的第35天
碎碎念
大项目推进中,今天搞了一下框架中的内容填充,有很多知识在加紧学习,边学边搞,加油吧~
Day 32 内容安排
ETCD学习
- 介绍
- 基础知识点
随记
- ETCD随记心得吧:
- ETCD是基于go语言实现,主要用于共享配置和服务发现的组件,也是在分布式系统中提供强一致性、高可用性的组件,用来存储少量重要的数据。
- ETCD有v2,v3两个版本,v3做了响应的一些升级,主要的是通信传输协议的改变,v3版本使用 gRPC + protobuf 取代 v2版本的http + json 通信
- ETCD主要有两种应用场景,注册发现与负载均衡。前者实现客户端与服务端调用通信,后者协调客户端对多个服务端调用(个人浅见)。
- ETCD 常采用集群的方式来提供服务:
- gRPC server:用来处理与客户端链接问题,用protobuf传输协议
- wal(write ahead log):预写式日志实现事务日志的标准方法
- snapshot:用于其他节点同步主数据节点
- boltdb:是一个单机的支持事务的 kv 存储,etcd 的事务是基于 boltdb 的事务实现的 5.ETCD操作:增删改查(CURD)、用来实现监听和推送服务、事务(用于分布式锁以及leader选举,确保多个节点数据读写的一致性)、租约等 6.ETCD存储原理:etcd 为每个key创建一个索引,一个索引对应着一个B+树。B+树中,key为 revision,节点存储的值为value。B+ 树存储着 key 的各个版本的信息,从而实现了 etcd 的 mvcc。 (blog.csdn.net/m0_65931372…
总结
- 框架只是一个架构,框架内部需要填写自己SERVER的逻辑,需要基于理解去完成
- 坚持,每天都在进步