从零实现分布式 KV
Posted on January 16, 2023 • 1 min read • 183 words¥440 | 手写 raft + 分布式 KV 系统,硬核实战教程,深入理解分布式理论和实践必备
本课程基于 MIT 6.5840(前 6.824,主要复用了课程实验的代码框架和测试),参考各种资料,结合我们的一些工业界经验和多次实现相关实验的经验,按易于理解的方式,拆成循序渐进的模块,每节只关注一小部分,以图文、代码和视频的形式呈现。
本课程会手把手教你如何弄懂一个共识协议,以及基于共识协议的分布式 KV 的方方面面、各种细节;也会教你如何组织和写出漂亮的工程代码。分布式系统是当今主流互联网系统的基础架构,而共识协议又是其中的典型代表和基石中的基石。学习本课程,能让你对分布式系统所面临的问题、所使用的技能有一个全面和深入的认识。
青藤木鸟,计算机本硕,有多年大厂、外企和创业公司的 infra 从业经验。专注大规模数据系统,包括分布式系统、数据库、存储和数据处理。以“木鸟杂记”的网名在 知乎、 b 站和公众号等平台,进行分布式系统和数据库相关知识持续输出。写过几十万字来翻译和分享分布式、数据库方面的经典书籍 DDIA。《 分布式数据库论坛》创建者。现有维护专栏:《 DDIA学习会》和 《 系统日知录》。
roseduan,数据库内核开发工程师(Greenplum 和 Postgres 内核),专注于数据库、分布式、存储引擎等领域,有着丰富的实践经验,知名开源存储引擎 rosedb 和 lotusdb 的作者,累计约 6k star。
建议按照章节顺序来看,每章先看文档内容,然后再看对应的视频,跟着实现代码,加深理解。如果你对一些前置知识和某些章节很熟悉,也可以快速跳到你关心的章节来看。
也可以结合 MIT 6.824 的 lecture 进行辅助学习:https://www.youtube.com/@6.824。
其他的参考资料,我们会列在每节的文末(文中也会在相关文字直接关联一些超链接),大家可以按需自行取用。
课程主要分为三部分内容:
以及一些附录内容,比如分布式调试、并发编程等,这些技术在课程中会经常使用到,基础薄弱者可以多学习一下。
之后还会根据根据同学们的需求和反馈添加一些加餐内容。
课程完整目录如下:
这个课程对以下同学应该都非常的合适,包括但不限于:
本课程只需要对 Golang 有一个最基本的了解:懂基本语法,能看懂代码。另外,需要自己会配置基本的 golang 环境和基本的调试。不需要其他特别的前置知识,录屏的视频会带着大家一步步敲代码。如果有大家有觉得铺垫不清楚的地方,随时给我们反馈,我们会增加相关前置章节。
目前课程内容已经全部更新完毕!
售价:原价 500 * 0.88 = 440,目前是课程最低优惠价 88 折!
想要购买的同学,请加以下任意一个课程作者的微信(请备注分布式课程),扫描下面的二维码即可,有其他任何疑问都可以咨询。
购买成功后,将会为你开启对应文档、视频和代码的权限。
购买后,会将拉你进课程用户专属的飞书群,两个作者会亲自为你解答学习过程中的疑难杂症,保证你肯定能够完全学会课程中的全部内容!
但注意,限于精力,仅提供关于课程和代码思路逻辑方面的答疑解惑,而不提供帮助配环境、帮忙 debug 等代码细节问题解决,最多提供一个大概的方向。
购买后在什么平台学习?
课程内容都在飞书云文档,购买成功后,为你开启对应的权限,所有内容都可以在线观看。
课程时长? 代码量?
课程视频时长: Raft 部分大概 6 小时、分布式 KV 部分大概 5 小时。
课程代码:自己需要写的部分,Raft 部分和 KV 部分大概各 1k 行;总 repo(包含测试代码、其他工具性代码)大概 10k 行。
课程代码是什么语言实现的?
课程基于 MIT 6824(现已更名为 6.5840) 的实验代码,因此是由 Go 语言实现的。后续根据同学需求和我们的精力有可能会支持其他的语言,比如 Rust 和 C++ 等。
课程和 MIT 6824 有什么区别,或者联系?
与 MIT 6.824 的联系是,课程复用了实验代码的框架和测试,因此课程内容和公开课 Lab 基本对应。
与 MIT 6.824 的区别是,本课程更侧重代码实践,只专注 Raft 和分布式 KV 代码的实现。为此我们通过详尽的前置知识铺垫、手敲代码录屏、代码级文档、多种答疑形式来确保你能在代码的级别理解 Raft 这个共识算法和基于 Raft 的分布式 KV 的方方面面。
如何获取项目中的代码?
购买成功后将会开启代码仓库 pull 的权限,也可以到课程专属飞书用户群中下载。
文档和视频对应的吗?
涉及到写代码的部分,都会有对应的视频。
没有任何分布式系统和存储的基础,能学会吗?
当然可以,本课程只需要熟悉 Go 的语言基础就可以了。其他的内容,例如论文讲解、架构设计、代码组织,都会在课程中详细讲述,你也可以在文档中、用户群中进行咨询,完全可以学会。
购买后是否有有效期?
没有,购买后永久持有,无限次观看。
可以退款吗?
虚拟内容服务,一经购买,概不退款,多谢支持与理解。因此购买前请慎重考虑,可以先加任意作者(上面有微信),详细咨询以确定课程目标否符合你的需求。