2022 年 6 月 15 日,云原生计算基金会 (CNCF) 宣布,分布式存储系统 Curve 被正式接纳为 CNCF 沙箱(Sandbox)项目。Curve 由网易数帆开源,提供块存储和文件存储能力,旨在以网易分布式架构和云原生实践经验反哺社区,填补高性能、易运维、云原生的开源分布式存储的空白。
Curve 进入 CNCF 沙箱,意味着全球顶级开源基金会对网易数帆云原生存储技术演进的认可,也验证了网易数帆在数字化基础软件领域的深厚积累,及对未来技术趋势的深刻洞察。通过进入 CNCF 沙箱,Curve 社区将更多吸引更多开发者和用户参与共建,进一步推动项目在云原生业务场景的成熟应用,从而深化云原生技术落地实践。
项目地址:https://github.com/opencurve/curve
Curve 项目特色
Curve 的研发,萌芽于开源 Ceph 存储系统难以满足网易业务发展的朴素需求,成长于云原生在各业务快速落地的契机。回顾 2018 年,网易已完成电商业务全面容器化,开始采用 Kubernetes + Operator 运行有状态应用,云原生存储基础设施的完善也被提上日程。
即便从当前 CNCF Landscape 来看,云原生存储项目依然远不及计算侧和网络侧丰富,开源的更是稀缺(图中白底部分),如果再加上稳定、高性能、公有云私有云均可使用的灵活弹性、简单易运维这些云原生场景下对存储系统的基础要求,则市面上基本没有合适的系统可供选择。这是 Curve 得以健康发展的外在驱动力。
得益于 Raft 一致性协议及创新架构的技术路线,目前,无论采用 SATA SSD 块存储,还是 NVMe 块存储,Curve 的随机读写、延迟性能都远优于老牌开源存储系统 Ceph,异常状态下的性能稳定性同样有接近倍半关系的领先程度。
而和另外一个 CNCF 沙箱项目, 使用 Go 语言编写的基于容器的块存储开源软件 OpenEBS 相比,Curve 同时覆盖块存储和文件存储,更有利于建设统一的数字化基础软件,运维管理成本要求也更低。
Curve 使用场景
Curve 可以应用于各类云原生基础设施平台作为存储底座,如:
- 对接 OpenStack 平台为云主机提供高性能块存储服务;
- 对接 Kubernetes 为其提供 RWO、RWX 等类型的持久化存储卷;
- 作为云存储中间件使用 S3 兼容的对象存储作为数据存储引擎,为公有云用户提供高性价比的共享文件存储;
- 对接 PolarFS 作为云原生数据库的高性能存储底座,完美支持云原生数据库的存算分离架构。
针对当前国内数字化基础设施自主可控的需求,Curve 也做了诸多针对性的适配工作。目前,Curve 完全支持国产鲲鹏 CPU + 麒麟系统,软件架构能充分利用并发挥国产 CPU 和硬件以及操作系统的性能。此外,Curve 系统本身核心模块和数据结构以及数据通讯协议系国内自主设计与开发,自主研发代码 20 多万行,测试代码的覆盖率也达到 80%。
Curve 社区进展
Curve 于 2020 年正式开源,至今一年多的时间里发布 3 个大版本,完成了超过 2500 个 commits 提交,GitHub 上 Star 数超过 1100 个,除网易外还吸引了超聚变技术有限公司、思谋科技、创云融达等多家企业使用。
2022 年 3 月 ,Curve 凭借优异的性能和强大的易运维性,成为阿里云 PolarDB 社区的官方生态合作伙伴,为基于 Shared-Storage 架构的 PolarDB for PostgreSQL 提供分布式共享存储底座,支持数据库负载获得云原生快速弹性扩展的好处。
致谢
Curve 项目能有今天的发展态势,离不开每一位社区参与者的付出。在此真诚地感谢每一位社区贡献者及用户的信任、支持和帮助,也特别感谢 CNCF 同仁尤其是 Storage TAG 对项目发展的指导和支持。也欢迎更多开发者和用户参与 Curve 社区建设,如有任何意见和建议,皆可给我们提 issue。
Curve 未来规划
未来,Curve 将瞄准高性能、易运维、云原生的目标持续演进:
高性能:为云原生数据库、云中间件提供超高性能、超低时延的存储底座,助力存算分离架构落地。同时也可为文件存储提供热数据的高性能存储层,助力高性价比架构落地。
云原生:支持各类云原生应用的存算分离架构,支持部署到私有云、公有云、混合云环境,为云原生应用提供更灵活便捷的存储系统。
易运维:提供更简单、更易用、易排障的运维工具和诊断平台。
Curve roadmap 参考:https://github.com/opencurve/curve/wiki/Roadmap