6、租约:如何检测你的客户端存活

你好,我是唐聪。 今天我要跟你分享的主题是租约(Lease)。etcd的一个典型的应用场景是Leader选举,那么etcd为什么可以用来实现Leader选举?核心特性实现原理又是怎样的? 今天我就和你聊聊Leader选举背后技术点之一的Lease, ...

ETCD实战课

7、MVCC:如何实现多版本并发控制

你好,我是唐聪。 在[01]课里,我和你介绍etcd v2时,提到过它存在的若干局限,如仅保留最新版本key-value数据、丢弃历史版本。而etcd核心特性watch又依赖历史版本,因此etcd v2为了缓解这个问题,会在内存中维护一个较短的全局事...

ETCD实战课

8、Watch:如何高效获取数据变化通知

你好,我是唐聪。 在Kubernetes中,各种各样的控制器实现了Deployment、StatefulSet、Job等功能强大的Workload。控制器的核心思想是监听、比较资源实际状态与期望状态是否一致,若不一致则进行协调工作,使其最终一致。 那...

ETCD实战课

9、事务:如何安全地实现多key操作

你好,我是唐聪。 在软件开发过程中,我们经常会遇到需要批量执行多个key操作的业务场景,比如转账案例中,Alice给Bob转账100元,Alice账号减少100,Bob账号增加100,这涉及到多个key的原子更新。 无论发生任何故障,我们应用层期望的...

ETCD实战课

10、boltdb:如何持久化存储你的key、value数据

你好,我是唐聪。 在前面的课程里,我和你多次提到过etcd数据存储在boltdb。那么boltdb是如何组织你的key-value数据的呢?当你读写一个key时,boltdb是如何工作的? 今天我将通过一个写请求在boltdb中执行的简要流程,分析其...

ETCD实战课

11、压缩:如何回收旧版本数据

你好,我是唐聪。 今天是大年初一,你过年都有什么安排?今年过年对我来说,其实是比较特别的。除了家庭团聚走亲访友外,我多了一份陪伴。感谢你和我在这个专栏里一块精进,我衷心祝你在新的一年里平安喜乐,万事胜意。 这节课是我们基础篇里的最后一节,正巧这节课的...

ETCD实战课