pdf文档 Curve设计要点

2.03 MB 35 页 0 评论
语言 格式 评分
zh-cn
.pdf
3
摘要
文档介绍了Curve,一款高性能、高可用、高可靠的新一代分布式存储系统。其设计背景源于现有存储软件在性能、延迟敏感场景和异常场景下的不足。Curve支持块存储、对象存储、云原生数据库等多种存储场景,且已在网易内部线上稳定运行一年多。系统具备自动化运维能力,包括自动化部署工具、一键升级和丰富的监控体系。Curve采用模块化设计,并通过单元测试、集成测试和自动化异常测试确保系统稳定性。其架构包括NEBD Server和Curve Client,支持多副本自治和精确的流量控制。
AI总结
# Curve 设计要点总结 Curve 是网易开发的高性能、高可用、高可靠的新一代分布式存储系统,主要针对块存储、对象存储、云原生数据库等场景,具备高性价比和优秀的扩展性。 ## 背景与需求 ### 存储系统现状 - 存储系统:SDFS、NEFS、NBS 等。 - 现有开源软件:Ceph 等存在性能不足、延迟敏感场景处理不佳、集群不均衡需人工干预等问题。 - 场景应用:高性能、高可用场景难以满足。 ### 设计动机 - Curve 旨在解决现有存储系统在性能、稳定性和运维上的不足,支持多种存储场景,提升系统可靠性和运维效率。 ## 系统特性 ### 核心优势 - **高性能**:支持高吞吐、低延迟的块存储,对接 OpenStack 和 K8s。 - **高可用性**:多副本自治,故障恢复快速,支持随机故障注入测试。 - **高可靠性**:完善的测试体系,单元测试覆盖率达到 80%+,分支覆盖率 70%+,集成测试采用 Given-When-Then 方法,覆盖 41 个异常用例,随机故障注入测试 20 轮,确保系统稳定性。 - **易运维**:自动化部署工具实现一键部署和升级,减少人工干预,升级影响小于秒级。 ### 系统架构 - **CS架构**:NEBD Server 接收请求并调用 Curve Client 处理,NEBD Client 对接上层业务。 - **自动化运维**:集群状态查询工具 curve_ops_tool 提供实时监控,Prometheus + Grafana 可视化和每日报表辅助数据定位问题。 - **资源管理**:基于 leader copyset scatter-width 的资源均衡策略,无需人工干预,确保负载均衡。 ## 技术特色 ### 创新点 - **去中心化**:无中心节点设计,提升系统自我管理和容错能力。 - **多副本自治**:支持多副本异常场景的自治恢复,减少人工干预。 - **流量控制**:精确管理 IO 流量,影响极小,确保服务平稳运行。 ### 挑战与解决方案 - **性能优化**:针对 IO 吞吐和多 Raft 场景进行专项优化。 - **系统测试**:采用自动化测试体系保障系统稳定性,同时支持随机故障注入,验证系统恢复能力。 ## 近期发展计划 - **性能优化**:提升数据库性能,优化大 IO 吞吐和多 Raft 性能。 - **开源共享**:已开源,开源社区积极参与,定期技术分享和开发者讨论会。 - **社区协作**:欢迎开发者参与项目,共同推动 Curve 的发展。 ## 开源信息 - **项目主页**:[Curve 官方主页](https://opencurve.github.io/) - **代码仓库**:[Curve Github](https://github.com/opencurve/curve) Curve 凭借其出色的性能和稳定性,已在网易内部线上环境中稳定运行一年多,通过了多次线上异常演练,展现出其高可靠性和强扩展性,是分布式存储领域的佼佼者。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 23 页请下载阅读 -
文档评分
请文明评论,理性发言.