Go 如何利用 ectd 实现分布式锁?
发布日期:2022-02-01 16:53:56 浏览次数:21 分类:技术文章

本文共 2230 字,大约阅读时间需要 7 分钟。

我们都知道最近几年,随着 K8s 成为容器编排领域霸主,etcd 也越来越火,GitHub star 已超过 34.2K。当然这也与它的应用场景广泛密不可分,从服务发现到分布式锁,从配置存储到分布式协调,可以说,etcd 已成为云原生和分布式系统的存储基石。

 

作为当下最热门的云原生存储之一,etcd 在腾讯、阿里、Google、AWS、美团、字节跳动、拼多多、Shopee 等公司都有大量应用,覆盖的业务不仅有 K8s 相关的容器产品,更有视频、推荐、安全、游戏、存储、集群调度等核心业务。

 

但哪怕是 K8s 老兵,也很难保证不在 etcd 上翻车:

无论是从内存泄露到数据不一致,还是从节点crash到性能慢,再到死锁、OOM等稳定性问题等,甚至听说还有人通过混沌工程发现并修复了多个数据不一致Bug,其中一个Bug已经存在近3年之久,而且很严重,重启就可能会触发数据不一致。

 

上面这类棘手问题,在学习和使用 etcd、k8s 的过程中,只是冰山一角。快速解决的办法,还是要对症下药,这里分享给你一张 etcd 典型问题图谱,你可以对照自己的经历仔细查阅。

 

这张图出自腾讯云资深工程师唐聪,他是腾讯云 etcd 负责人、2020 年 etcd 社区全球 Top3 活跃贡献者,之前在社区没少看到他提交的代码。

 

后来我才知道,这几年他一直在和 Redis、etcd 打交道,解决过很多大规模业务增长中的存储稳定性、可扩展性等问题,积累了丰富的大规模集群实战、治理经验。参与 etcd 开源项目的贡献经历,也让他对 etcd 和分布式服务有了更深入的理解。

 

所以,他能从开发者的视角出发,为你分析问题、梳理最佳实践、解读特性设计方案、阐述社区未来演进方向等等。

 

在专栏中,他深入解析了 etcd 核心原理,系统梳理其高效学习路径,帮你掌握实践中各类复杂 etcd 问题的解决方案,和在 Kubernetes、服务发现等应用场景的最佳实践,构建高可靠的 etcd 集群运维体系。

 

唐聪说,这个专栏是他自己多年经验的交付,能解决你在学习、使用 etcd 过程中的很多问题。所以,跟着他学,你一定能用最低的学习成本,掌握 etcd 核心原理与最佳实践,让 etcd 真正为你所用,在工作中少踩坑、少交学费,多升职、多涨薪。

 

????扫码免费试读

秒杀+专属口令「studyetcd」立省 ¥60

半价到手 ¥69,即将涨价至 ¥129

 

前面已经提到,唐聪是腾讯云资深工程师,也是 2020 年 etcd 社区全球 Top3 的活跃贡献者,修复了 etcd 数据不一致、内存泄露、死锁、panic 等众多问题,提升了 etcd 在大规模数据场景下的启动、读性能等。

 

他 2014 年本科毕业加入腾讯,不到一年时间,就主导完成了一个亿级用户的业务核心存储平滑迁移任务。之后两年,又构建了大规模排行榜和 Redis 集群平台服务,支撑了公司内部多个重要业务,在这个过程中,他积累了大量 NoSQL 数据库知识与经验。

 

2017 年,唐聪开始接触 Docker 和 Kubernetes,并通过 Kubernetes 解决大规模 Redis 集群的治理问题,提升服务的可用性、降低运维成本。而后他转岗到腾讯云,负责 Kubernetes 集群存储 etcd 治理工作。

 

现在他是腾讯云 etcd 负责人,主导构建的腾讯云原生 etcd 平台,成功解决了集群大规模增长过程中各类 etcd 稳定性问题,支撑了万级 Kubernetes 和 etcd 集群。目前,etcd 作为腾讯众多产品的基础设施,服务用户已达数亿。

 

他把专栏分为两大模块,基础篇和实践篇。

 

基础篇可以帮你建立对 etcd 的整体认知,搞懂读写请求、各个核心特性背后的原理。此外,基础篇的学习也是一个中小型分布式存储系统从 0 到 1 实现的案例解读,你不仅会收获 etcd,还有分布式存储系统构建的理论知识,为下一步进阶打好基础。

 

 

在实践篇中,唐聪为你解读了 etcd 实际使用过程中可能会出现的各种典型问题,和各类复杂 etcd 问题的解决方案

 

此外,他还分享了 etcd 在Kubernetes、Apache APISIX、分布式锁等场景中的应用,为你梳理最佳实践,让你在业务中更好地使用 etcd,进而对 Kubernetes、Apache APISIX 等原理有更深层次的理解。

 

更多实践篇内容,可以参考下面的思维导图:

 

另外,我觉得这个课最宝贵的一点,是他利用拆解法,为你制定了大、中、小三级目标,让你每节课都有收获,通过每个小目标的实现,最终达成个人能力的提升,彻底掌握 etcd。

 

连专栏里的留言质量都很高,不仅会解答大家的问题,读者也会互相讨论切磋,光看评论区都能学到不少,口碑自然不错,截了一些供你参考:

 

下面是课程目录:

 

老规矩,给大家申请了粉丝专属优惠

专栏即将 涨价至¥129

现秒杀+口令「studyetcd」

到手半价¥69,相当于半价入手

口令仅「前 50 人」有效!

 

???? 扫码免费试读

 

我们在工作中常常“让专业的人做专业的事”,同理,学习某项技能,跟着专攻它的人,进步才会最快。聪哥在 etcd 领域的建树数一数二,所以他整理出来的方法和经验,绝对值得一看。

 

点击「阅读原文

结算使用口令「studyetcd

立省 ¥60,半价秒杀,仅限「前 50 人」有效。

转载地址:https://blog.csdn.net/slphahaha/article/details/120170690 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:我终于识破了这个 Go 编译器把戏
下一篇:进程、线程都有 ID,为什么 Goroutine 没有 ID?

发表评论

最新留言

很好
[***.229.124.182]2024年04月10日 20时15分17秒