ETCD源码阅读(七)
摘要:DAY6 :ETCD的leasing机制 前文说过lease与leasing的区别,今天就来看leasing具体是什么: leasing是指在ETCD中使用lease进行资源分配和管理的过程。当一个client希望使用某个资源时,它可以请求ETCD分配一个lease,并在这个lease的有效期内保持
阅读全文
ETCD源码阅读(六)
摘要:DAY5 :ETCD的Lease机制 Lease 机制简介 除了前面文章中提到的分布式锁,lease机制还广泛应用于服务注册与发现场景,需要与watch机制相配合。本文主要做对Lease部分的源码分析。 一个租约可以关联ETCD集群中的一个或多个key。当租约过期或者被撤销时,关联的key会被自动删
阅读全文
ETCD源码阅读(五)
摘要:DAY4 :ETCD的WAL WAL(Write-Ahead Logging)是数据库中保证数据持久化的常用技术。每次真正操作数据之前,先往磁盘上追加一条日志。由于日志是追加的(顺序写,而不是随机写),所以写入性能非常高。 如果在写入日志之前,发生系统崩溃,那么数据肯定是没有写入磁盘的;如果在写入日
阅读全文
ETCD源码阅读(四)
摘要:DAY3 :ETCD分布式锁: etcd/contrib/lock 这一部分代码主要是为了展示ETCD实现分布式锁的原理(Lease),并且贴出了 DDIA作者的一篇博文作为应用场景建模。那么我们就先来读这篇博文吧。 为什么要使用分布式锁 防止数据竞争:多个分布式下节点可能会同时修改同一份数据,如果
阅读全文