CeresDB Rust 生产实践 任春韶
6.95 MB
22 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
中文(简体) | .pptx | 3 |
摘要 | ||
文档介绍了CeresDB的Rust生产实践,重点包括异步锁的使用场景、Tokio运行时的选择理由以及在混合工作负载下的应用。CeresDB旨在高效处理时间线高基数问题和分布式查询,同时提供高可用、高可靠的服务。其历经多次版本优化,支持开放协议并实现了存储计算分离、分级存储等特性。 | ||
AI总结 | ||
以下是文档内容的总结:
这份文档主要围绕CeresDB的Rust生产实践展开,重点讨论了异步锁(Async lock)、混合工作负载运行时(Mixed workload Runtimes)以及Tokio的使用和任务取消机制(Future Cancellation)。以下是核心内容的总结:
### 1. **CeresDB介绍**
- **目标**:解决时间线高基数问题,高效处理APM型时序数据和高基数时间线场景;提供原生分布式方案,支持大规模部署、高可用、高可靠、高效分布式查询等。
- **历程**:
- 2018年至2023年间,CeresDB经历了多个重要版本的发布,包括自研存储引擎、1.0.0版本发布、查询性能优化、分布式方案优化等。
- 2023年6月,CeresDB 1.2.2版本发布,优化了写入性能和分布式方案。
### 2. **Rust生产实践**
- **Async lock**:
- 按需使用异步锁,纯内存计算时建议使用`blocking mutex`,性能更优。
- **Mixed workload Runtimes**:
- 在混合工作负载场景中,CeresDB监控显示写入OSS耗时高,但OSS监控显示耗时低,可能与运行时任务调度有关。
- 通过`runtime.spawn(task)`的方式并行执行任务,但需注意任务间的竞争和资源分配问题。
### 3. **Tokio的使用与任务取消**
- **为什么使用Tokio**:
1.业界使用广泛,测试齐全。
2.支持`async/await`,提供高效的异步锁和异步队列。
3.社区支持好。
- **Async lock实践**:
- 异步锁在高并发场景中表现优异,但需根据具体场景选择合适的锁机制。
- **Future Cancellation**:
- 任务取消机制能够有效避免资源浪费,尤其在分布式系统中,任务取消需要及时与各节点同步。
### 总结
CeresDB在Rust生产实践中充分利用了异步编程模型,通过Tokio框架实现高效的任务调度和资源管理。针对异步锁和混合工作负载场景,CeresDB结合实际需求进行了优化和调整,解决了部分性能瓶颈和资源竞争问题,展现了其在高基数时序数据处理场景中的潜力。 |
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
10 页请下载阅读 -
文档评分