Files
ldb/README.md
2026-01-29 10:47:24 +00:00

56 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 9.1 Kvstore
## 需求
1. ntyco需要作为kvstore的submodule,通过git clone一次下载。 **完成**
2. README需要包含编译步骤测试方案与可行性性能数据。 **完成**
3. 全量持久化保存数据集。 **BUG FIX完成**
4. 持久化的性能数据。
5. 特殊字符可以解决redis的resp协议。 **完成**
6. 实现配置文件把日志级别端口ip主从模式持久化方案。 **完成**
7. 持久化落盘用io_uring加载配置文件用mmap。 **完成**
8. 主从同步的性能,开启与关闭性能做到。
9. 主从同步600w条,出现的coredump。
10. 主从同步用ebpf实现。
11. 内存池测试qps与虚拟内存物理内存。
12. 实现一个内存泄露检测组件。 **完成**
## 环境安装与编译
```shell
# xml
sudo apt install libxml2 libxml2-dev
# hiredis client
sudo apt install -y libhiredis-dev
# bpftrace
sudo apt install -y bpftrace
git clone git@gitlab.0voice.com:lianyiheng/9.1-kvstore.git
cd 9.1-kvstore/
git submodule update --init --recursive
./init.sh
make
```
## 测试
### 面试题
1. 为什么会实现kvstore使用场景在哪里
2. reactor, ntyco, io_uring的三种网络模型的性能差异
3. 多线程的kvstore该如何改进
4. 私有协议如何设计会更加安全可靠?
5. 协议改进以后,对已有的代码有哪些改变?
6. kv引擎实现了哪些
7. 每个kv引擎的使用场景以及性能差异
8. 测试用例如何实现并且保证代码覆盖率超过90%
9. 网络并发量如何qps如何
10. 能够跟哪些系统交互使用?
### 架构设计
![image](https://disk.0voice.com/p/py)