10、boltdb:如何持久化存储你的key、value数据你好,我是唐聪。 在前面的课程里,我和你多次提到过etcd数据存储在boltdb。那么boltdb是如何组织你的key-value数据的呢?当你读写一个key时,boltdb是如何工作的? 今天我将通过一个写请求在boltdb中执行的简要流程,分析其...2026-01-03ETCD实战课
11、压缩:如何回收旧版本数据你好,我是唐聪。 今天是大年初一,你过年都有什么安排?今年过年对我来说,其实是比较特别的。除了家庭团聚走亲访友外,我多了一份陪伴。感谢你和我在这个专栏里一块精进,我衷心祝你在新的一年里平安喜乐,万事胜意。 这节课是我们基础篇里的最后一节,正巧这节课的...2026-01-03ETCD实战课
12、一致性:为什么基于Raft实现的etcd还会出现数据不一致你好,我是唐聪。 今天我要和你分享的主题是关于etcd数据一致性的。 我们都知道etcd是基于Raft实现的高可用、强一致分布式存储。但是有一天我和小伙伴王超凡却遭遇了一系列诡异的现象:用户在更新Kubernetes集群中的Deployment资源镜...2026-01-03ETCD实战课
13、db大小:为什么etcd社区建议db大小不超过8G你好,我是唐聪。 在[03]写流程中我和你分享了etcd Quota模块,那么etcd为什么需要对db增加Quota限制,以及不建议你的etcd集群db大小超过8G呢? 过大的db文件对集群性能和稳定性有哪些影响? 今天我要和你分享的主题就是关于db...2026-01-03ETCD实战课
14、延时:为什么你的etcd请求会出现超时你好,我是唐聪。 在使用etcd的过程中,你是否被日志中的”apply request took too long”和“etcdserver: request timed out”等高延时现象困扰过?它们是由什么原因导致的呢?我们应该如何来分析这些问...2026-01-03ETCD实战课
15、内存:为什么你的etcd内存占用那么高你好,我是唐聪。 在使用etcd的过程中,你是否被异常内存占用等现象困扰过?比如etcd中只保存了1个1MB的key-value,但是经过若干次修改后,最终etcd内存可能达到数G。它是由什么原因导致的?如何分析呢? 这就是我今天要和你分享的主题:e...2026-01-03ETCD实战课
16、性能及稳定性(上):如何优化及扩展etcd性能你好,我是唐聪。 在使用etcd的过程中,你是否吐槽过etcd性能差呢? 我们知道,etcd社区线性读压测结果可以达到14w/s,那为什么在实际业务场景中有时却只有几千,甚至几百、几十,还会偶发超时、频繁抖动呢? 我相信不少人都遇到过类似的...2026-01-03ETCD实战课
17、性能及稳定性(下):如何优化及扩展etcd性能你好,我是唐聪。 我们继续来看如何优化及扩展etcd性能。上一节课里我为你重点讲述了如何提升读的性能,今天我将重点为你介绍如何提升写性能和稳定性,以及如何基于etcd gRPC Proxy扩展etcd性能。 当你使用etcd写入大量key-value...2026-01-03ETCD实战课
18、实战:如何基于Raft从0到1构建一个支持多存储引擎分布式KV服务你好,我是唐聪。 通过前面课程的学习,我相信你已经对etcd基本架构、核心特性有了一定理解。如果让你基于Raft协议,实现一个简易的类etcd、支持多存储引擎的分布式KV服务,并能满足读多写少、读少写多的不同业务场景诉求,你知道该怎么动手吗? 纸上得...2026-01-03ETCD实战课
19、Kubernetes基础应用:创建一个Pod背后etcd发生了什么你好,我是唐聪。 今天我将通过在Kubernetes集群中创建一个Pod的案例,为你分析etcd在其中发挥的作用,带你深入了解Kubernetes是如何使用etcd的。 希望通过本节课,帮助你从etcd的角度更深入理解Kubernetes,让你知道在...2026-01-03ETCD实战课