23、选型:etcd、ZooKeeper、Consul等我们该如何选择你好,我是唐聪。 在软件开发过程中,当我们需要解决配置、服务发现、分布式锁等业务痛点,在面对etcd、ZooKeeper、Consul、Nacos等一系列候选开源项目时,我们应该如何结合自己的业务场景,选择合适的分布式协调服务呢? 今天,我就和你聊聊...2026-01-03ETCD实战课
22、配置及服务发现:解析etcd在API Gateway开源项目中应用你好,我是唐聪。 在软件开发的过程中,为了提升代码的灵活性和开发效率,我们大量使用配置去控制程序的运行行为。 从简单的数据库账号密码配置,到confd支持以etcd为后端存储的本地配置及模板管理,再到Apache APISIX等API Gateway...2026-01-03ETCD实战课
21、分布式锁:为什么基于etcd实现分布式锁比Redis锁更安全你好,我是唐聪。 在软件开发过程中,我们经常会遇到各种场景要求对共享资源进行互斥操作,否则整个系统的数据一致性就会出现问题。典型场景如商品库存操作、Kubernertes调度器为Pod分配运行的Node。 那要如何实现对共享资源进行互斥操作呢? 锁就...2026-01-03ETCD实战课
20、Kubernetes高级应用:如何优化业务场景使etcd能支撑上万节点集群你好,我是唐聪。 你知道吗? 虽然Kubernetes社区官网文档目前声称支持最大集群节点数为5000,但是云厂商已经号称支持15000节点的Kubernetes集群了,那么为什么一个小小的etcd能支撑15000节点Kubernetes集群呢? 今...2026-01-03ETCD实战课
19、Kubernetes基础应用:创建一个Pod背后etcd发生了什么你好,我是唐聪。 今天我将通过在Kubernetes集群中创建一个Pod的案例,为你分析etcd在其中发挥的作用,带你深入了解Kubernetes是如何使用etcd的。 希望通过本节课,帮助你从etcd的角度更深入理解Kubernetes,让你知道在...2026-01-03ETCD实战课
18、实战:如何基于Raft从0到1构建一个支持多存储引擎分布式KV服务你好,我是唐聪。 通过前面课程的学习,我相信你已经对etcd基本架构、核心特性有了一定理解。如果让你基于Raft协议,实现一个简易的类etcd、支持多存储引擎的分布式KV服务,并能满足读多写少、读少写多的不同业务场景诉求,你知道该怎么动手吗? 纸上得...2026-01-03ETCD实战课
17、性能及稳定性(下):如何优化及扩展etcd性能你好,我是唐聪。 我们继续来看如何优化及扩展etcd性能。上一节课里我为你重点讲述了如何提升读的性能,今天我将重点为你介绍如何提升写性能和稳定性,以及如何基于etcd gRPC Proxy扩展etcd性能。 当你使用etcd写入大量key-value...2026-01-03ETCD实战课
16、性能及稳定性(上):如何优化及扩展etcd性能你好,我是唐聪。 在使用etcd的过程中,你是否吐槽过etcd性能差呢? 我们知道,etcd社区线性读压测结果可以达到14w/s,那为什么在实际业务场景中有时却只有几千,甚至几百、几十,还会偶发超时、频繁抖动呢? 我相信不少人都遇到过类似的...2026-01-03ETCD实战课
15、内存:为什么你的etcd内存占用那么高你好,我是唐聪。 在使用etcd的过程中,你是否被异常内存占用等现象困扰过?比如etcd中只保存了1个1MB的key-value,但是经过若干次修改后,最终etcd内存可能达到数G。它是由什么原因导致的?如何分析呢? 这就是我今天要和你分享的主题:e...2026-01-03ETCD实战课
14、延时:为什么你的etcd请求会出现超时你好,我是唐聪。 在使用etcd的过程中,你是否被日志中的”apply request took too long”和“etcdserver: request timed out”等高延时现象困扰过?它们是由什么原因导致的呢?我们应该如何来分析这些问...2026-01-03ETCD实战课