TiKV Contributors day1
文章目录
成为tikv贡献者第一天:搭建环节
TiKV 是一个支持事务的分布式 Key-Value 数据库,目前已经是 CNCF 基金会 的顶级项目。
需要一定的前期准备才能够有能力参与 TiKV 社区的代码开发,
-
不限于学习 Rust 语言,
-
理解 TiKV 的原理
-
在前两者的基础上了解熟悉 TiKV 的源码。
本文是TiKV (版本7.0 )源码阅读,成为 TiKV Contributors 第一篇文章
目标:
-
小白如何学习一个开源项目,先让它跑起来。
-
主要介绍 gdb如何调试tikv,运行单元测试。
-
搭建一个单机TiKV 服务。
开发环境:gitpod
主要电脑配置太低了,开始使用Gitpod
Gitpod 是一个开源 Kubernetes 应用程序(GitHub 仓库地址 https://github.com/gitpod-io/gitpod),
适用于可直接编写代码的开发环境,可为云中的每个任务提供全新的自动化开发环境。
通过Rustlings学习Rust语法
Rustlings 是一个由 Rust 团队维护的开源项目,旨在帮助你通过调试代码来学习 Rust。它也会一路为你提供提示。
这个是我的练习
https://github.com/cicvedu/rustlings-semester-4-watchpoints
成为贡献者需要掌握那些知识
-
https://github.com/pingcap/talent-plan
1 2 3 4 5 6 7 8 9 10
这个我没有看呢,有一起的吗 TP 101: Introduction to open source software TP 102: How to use Git and GitHub TP 103: Build a welcoming community TP 201: Practical Networked Applications in Rust TP 202: Distributed Systems in Rust TP 301: TinySQL, a distributed relational database in Go TP 302: TinyKV, a distributed key value database in Go TP 401: Deep Dive into TiDB(WIP) TP 402: Deep Dive into TiKV(WIP)
TiKV 调试环境搭建:
|
|
TiKV 使用 test_raftstore 等组件作为测试和 mock 框架
调试
- rust-analyzer 运行单元测试
单节点集群部署
主要gipod 磁盘空间满了。这个网上例子很多 不在赘述。
help
【1】 https://maiyang.me/post/2018-08-02-rust-guide-by-tikv/
【2】 https://www.iocoder.cn/TiKV/build-debugging-environment-first/
【3】三十分钟成为 Contributor | 为 TiKV 添加 built-in 函数
【4】 https://xuanwo.io/2021/03-how-to-contribute-to-tikv-copr/
【5】https://github.com/YunaiV/Blog/tree/master/TiKV
[6] https://www.cnblogs.com/jiangshifu/p/16365201.html tikv调试环境
[7]https://kaige.org/2019/06/04/Learning-TiDB-4/
[8] rust-gdb
是什么?
【9】https://tikv.org/docs/7.1/deploy/install/test/#install-binary-manually
https://tikv.org/docs/7.1/deploy/install/test/#install-binary-manually
https://docs.pingcap.com/tidb/stable/tiup-playground
todo01:搭建tikv环境
task01:搭建tikv环境(容器版本,和源码版本)
|
|
tod02:学习资料
-
阅读文章:https://asktug.com/t/topic/693645
-
【源码合集】TiKV 源码阅读三部曲
-
阅读 Rust 参考手册 中文版 https://rustwiki.org/zh-CN/reference/expressions/if-expr.html
-
TiKV 源码阅读三部曲(一)重要模块
本小节将简单介绍 KVService 及其启动流程,并顺带介绍 TiKV 若干重要结构的初始化流程
- TiKV 源码阅读三部曲(二)读流程