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 可以应用于各类云原生基础设施平台作为存储底座,如:

  1. 对接 OpenStack 平台为云主机提供高性能块存储服务;
  2. 对接 Kubernetes 为其提供 RWO、RWX 等类型的持久化存储卷;
  3. 作为云存储中间件使用 S3 兼容的对象存储作为数据存储引擎,为公有云用户提供高性价比的共享文件存储;
  4. 对接 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

Curve 进入 CNCF Sandbox,完善统一云原生开源存储拼图的更多相关文章

  1. 从 Spark 到 Kubernetes — MaxCompute 的云原生开源生态实践之路

    2019年5月14日,喜提浙江省科学技术进步一等奖的 MaxCompute 是阿里巴巴自研的 EB 级大数据计算平台.该平台依托阿里云飞天基础架构,是阿里巴巴在10年前做飞天系统的三大件之分布式计算部 ...

  2. CNCF 宣布 TUF 毕业 | 云原生生态周报 Vol. 33

    作者 | 孙健波.汪萌海.陈有坤.李鹏 业界要闻 CNCF 宣布 TUF 毕业 CNCF 宣布 TUF(The update Framework)项目正式毕业,成为继 Kubernetes.Preme ...

  3. Longhorn 企业级云原生容器存储解决方案-部署篇

    内容来源于官方 Longhorn 1.1.2 英文技术手册. 系列 Longhorn 是什么? Longhorn 云原生分布式块存储解决方案设计架构和概念 安装 Longhorn 可以通过多种方式安装 ...

  4. 始于阿里,回归社区:阿里8个项目进入CNCF云原生全景图

    破土而出的生命力,源自理想主义者心底对技术的信念. 云原生技术正席卷全球,云原生基金会在去年KubeCon +CloudNativeCon NA的现场宣布: 其正在孵化的项目已达14个,入驻的厂家或产 ...

  5. CNCF 宣布成立应用交付领域小组,正式开启云原生应用时代

    作者|赵钰莹 作为云原生领域的顶级开源社区, Cloud Native Computing Foundation (云原生基金会,以下简称 CNCF)近日宣布成立 Application Delive ...

  6. CNCF官方大使张磊:什么是云原生?

    作者|张磊 阿里云容器平台高级技术专家,CNCF 官方大使 编者说: 从 2015 年 Google 牵头成立 CNCF 以来,云原生技术开始进入公众的视线并取得快速的发展,到 2018 年包括 Go ...

  7. Porter 进入 CNCF 云原生全景图,新版本即将发布!

    近日,KubeSphere 社区子项目面向物理机环境的负载均衡器 Porter 正式进入 CNCF Landscape.CNCF Landscape 在云原生实践过程中的每个环节帮助用户了解有哪些具体 ...

  8. VoltDB成功入选CNCF Landscape云原生数据库全景图

    近日,VoltDB正式入选 CNCF Landscape(可能是目前其中唯一的关系型分布式内存数据库).此次VoltDB 进入 CNCF Landscape,意味着 VoltDB 正式成为了 CNCF ...

  9. 重磅 | 腾讯云服务网格开源项目 Aeraki Mesh 加入 CNCF 云原生全景图

    作者 赵化冰,腾讯云工程师,Aeraki Mesh 创始人,Istio member,Envoy contributor,目前负责 Tencent Cloud Mesh 研发工作. 摘要 近日,腾讯云 ...

  10. 2019 年容器生态统计报告发布 | 云原生生态周报 Vol. 26

    作者 | 酒祝.天元.元毅.心水.衷源 业界要闻 1.2019 年容器生态统计报告发布  据报告显示,Kubernetes 占据 77% 的容器编排产品份额,Docker 占据 79% 的容器引擎产品 ...

随机推荐

  1. 在 JS 中使用 canvas 给图片添加文字水印

    实现说明: 1.先通过 new Image() 载入图片: 2.图片加载成功后使用 drawImage() 将图片绘制到画布上: 3.最后使用 fillText() 函数绘制水印. 下面展示了详细用法 ...

  2. 【C# wpf】个人网盘练习项目总结

    采用 .net frameowrok 4.5.2 未写持久层代码,不可保存运行时的数据状态.分服务端,客户端,采用tcp通讯,使用了supersocket组件.服务端用winform ,客户端用wpf ...

  3. 如何从0-1了解 熟悉 精通gitlab

    加入gitlab团队项目: 打开其他用户极狐邀请邮件: 点击接受紫色邀请按钮"accept invitation": 选择免费试用90天saas服务: 使用邮箱注册进行邮箱验证[验 ...

  4. win11如何调解屏幕亮度【win10刚刚升级win11】?

    打开电脑后鼠标右键,点击个性化 点击系统 点击屏幕亮度 滑动按钮,调解屏幕亮度即可

  5. P1036 [NOIP2002 普及组] 选数

    传送锚点:https://www.luogu.com.cn/problem/P1036 题目描述 已知 \(n\) 个整数 \(x_1,x_2,\cdots,x_n\),以及 \(1\) 个整数 \( ...

  6. Android 13 - Media框架(10)- NuPlayer::Renderer

    关注公众号免费阅读全文,进入音视频开发技术分享群! 这一节我们来了解 NuPlayer Renderer 是如何工作,avsync 机制是如何运行的. 1.创建 Renderer void NuPla ...

  7. taro 使用taro中的vue来完成小程序的开发

    网址:https://taro-docs.jd.com/taro/docs/README 2.1.简介 Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发 ...

  8. vue基础使用

    传统dom操作 使用js或jquery库对html页面结构中的指定的区域输出数据 使用vue实现 在html页面中使用好vue需要完成如下步骤即可 引入vue.js文件 定义给vue.js管理的dom ...

  9. 2024-06-08:用go语言,给定三个正整数 n、x和y, 表示城市中的房屋数量以及编号为x和y的两个特殊房屋。 在这座城市中,房屋通过街道相连。对于每个编号i(1 <= i < n), 存在一条

    2024-06-08:用go语言,给定三个正整数 n.x和y, 表示城市中的房屋数量以及编号为x和y的两个特殊房屋. 在这座城市中,房屋通过街道相连.对于每个编号i(1 <= i < n) ...

  10. java堆和栈有哪些区别

    java堆和栈有哪些区别 Java堆和栈是Java虚拟机(JVM)中的两个重要概念,它们在内存管理.存储对象和执行线程等方面有明显的区别. 1.内存分配和管理Java堆是动态分配的内存区域,主要用来存 ...