My New Hugo Site logo
  • Home 
  • Tags 
  1.   Zhs
  1. Home
  2. Zhs
  3. 从零实现分布式 KV

从零实现分布式 KV

Posted on January 16, 2023 • 1 min read • 183 words
DistributedKV  
DistributedKV  
Share via
My New Hugo Site
Link copied to clipboard

¥440 | 手写 raft + 分布式 KV 系统,硬核实战教程,深入理解分布式理论和实践必备

从零实现分布式 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。

其他的参考资料,我们会列在每节的文末(文中也会在相关文字直接关联一些超链接),大家可以按需自行取用。

课程大纲  

课程主要分为三部分内容:

  • raft 共识算法的实现
  • 基于 raft 的分布式 KV
  • 基于 multi raft 的 shardkv

以及一些附录内容,比如分布式调试、并发编程等,这些技术在课程中会经常使用到,基础薄弱者可以多学习一下。

之后还会根据根据同学们的需求和反馈添加一些加餐内容。

课程完整目录如下:

dkv-1.jpg

试看内容  

02. Raft 论文演绎

06. PartA 状态转换

适用人群  

这个课程对以下同学应该都非常的合适,包括但不限于:

  • 想入门数据库内核的同学,分布式 KV 是现代分布式数据库中必不可少的重要组成部分,它为数据库提供数据存储、高可用性、横向扩展等保障,并且具备高性能和可伸缩性,学习课程可以帮助理解分布式数据库的技术核心。
  • 想入门分布式存储的同学,从零实现一个分布式系统,加强对分布式相关知识的理解,而不仅仅限于理论知识,掌握如何构建、调试和优化分布式应用。
  • 增加 Go 项目经验的同学,如果学习了一些 Go 的基础知识,但是苦于没有项目经验,想要进一步巩固自己的知识,这个项目将会非常硬核,用于面试也会极具亮点。
  • 想要巩固基本功的同学,基本功对一个程序员来说非常重要。但是平常的一些课程,例如编程语言、数据结构、算法、多线程编程、分布式理论等,学完了之后总是没有太多的使用场景来实践,没过多久就忘记了。这个课程当中涉及到手写共识算法 raft、代码组织、代码命名、分布式理论、并发编程、并发调试等知识,可以帮助你打牢基本功。
  • 做毕业设计,对于即将毕业的同学,苦于无法找到一个合适的毕设项目,基于这个项目做一些衍生处理(比如可视化)应该会让老师眼前一亮。

前置知识  

本课程只需要对 Golang 有一个最基本的了解:懂基本语法,能看懂代码。另外,需要自己会配置基本的 golang 环境和基本的调试。不需要其他特别的前置知识,录屏的视频会带着大家一步步敲代码。如果有大家有觉得铺垫不清楚的地方,随时给我们反馈,我们会增加相关前置章节。

更新进度  

目前课程内容已经全部更新完毕!

如何购买  

售价:原价 500 * 0.88 = 440,目前是课程最低优惠价 88 折!

想要购买的同学,请加以下任意一个课程作者的微信(请备注分布式课程),扫描下面的二维码即可,有其他任何疑问都可以咨询。

购买成功后,将会为你开启对应文档、视频和代码的权限。

dkv-2.png

咨询服务  

购买后,会将拉你进课程用户专属的飞书群,两个作者会亲自为你解答学习过程中的疑难杂症,保证你肯定能够完全学会课程中的全部内容!

但注意,限于精力,仅提供关于课程和代码思路逻辑方面的答疑解惑,而不提供帮助配环境、帮忙 debug 等代码细节问题解决,最多提供一个大概的方向。

常见 Q&A  

购买后在什么平台学习?

课程内容都在飞书云文档,购买成功后,为你开启对应的权限,所有内容都可以在线观看。

课程时长? 代码量?

课程视频时长: 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 的语言基础就可以了。其他的内容,例如论文讲解、架构设计、代码组织,都会在课程中详细讲述,你也可以在文档中、用户群中进行咨询,完全可以学会。

购买后是否有有效期?

没有,购买后永久持有,无限次观看。

可以退款吗?

虚拟内容服务,一经购买,概不退款,多谢支持与理解。因此购买前请慎重考虑,可以先加任意作者(上面有微信),详细咨询以确定课程目标否符合你的需求。

 从零实现 SQL 数据库
关于作者

roseduan,开源项目rosedb、lotusdb 的作者,目前累计超过 6k star,目前担任数据库内核研发的职位,主要研究 Postgres 数据库,在数据库内核开发方面有丰富的经验。购买课程请添加微信(kiss_duan),备注“课程购买”。

 
Copyright © 2025 My New Hugo Site All rights reserved. | Powered by Hinode.
My New Hugo Site
Code copied to clipboard