网易开源的分布式存储系统 Curve 正式成为 CNCF 沙箱项目

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: Curve 项目的发展离不开每一位社区参与者的付出。在此真诚地感谢每一位社区贡献者及用户的信任、支持和帮助,也特别感谢 CNCF 同仁尤其是 Storage TAG 对项目发展的指导和支持。欢迎更多开发者和用户参与 Curve 社区建设,如有任何意见和建议,皆可给项目提交 issue。

2022 年 6 月 15 日,云原生计算基金会 (CNCF) 宣布,分布式存储系统 Curve 被正式接纳为 CNCF 沙箱(Sandbox)项目。Curve 由网易开源,是一款高性能、易运维、云原生的分布式存储系统,可应用于主流的云原生基础设施平台:对接 OpenStack 平台为云主机提供高性能块存储服务;对接 Kubernetes 为其提供 RWO、RWX 等类型的持久化存储卷;对接 PolarFS 作为云原生数据库的高性能存储底座,完美支持云原生数据库的存算分离架构。Curve 亦可作为云存储中间件使用 S3 兼容的对象存储作为数据存储引擎,为公有云用户提供高性价比的共享文件存储。

image.png

项目地址:https://github.com/opencurve/curve

Curve 进入 CNCF 沙箱,意味着全球顶级开源基金会对网易云原生存储技术演进的认可,也验证了网易在数字化基础软件领域的深厚积累,及对未来技术趋势的深刻洞察。通过进入 CNCF 沙箱,Curve 社区将更多吸引更多开发者和用户参与共建,进一步推动项目在云原生业务场景的成熟应用,从而深化云原生技术落地实践。

Curve 项目特色

Curve 的研发萌芽于开源 Ceph 存储系统难以满足网易业务发展的朴素需求,成长于云原生在各业务快速落地的契机。回顾 2018 年,网易已完成电商业务全面容器化,开始采用 Kubernetes + Operator 运行有状态应用,云原生存储基础设施的完善也被提上日程。

即便从当前 CNCF Landscape 来看,云原生存储项目依然远不及计算侧和网络侧丰富,开源项目更是稀缺(图中白底部分),如果再加上稳定、高性能、公有云私有云均可使用的灵活弹性、简单易运维这些云原生场景下对存储系统的基础要求,则市面上基本没有合适的系统可供选择。这是 Curve 得以健康发展的外在驱动力。

image.png

得益于 Raft 一致性协议及创新架构的技术路线,目前,无论采用 SATA SSD 块存储,还是 NVMe 块存储,Curve 的随机读写、延迟性能都远优于老牌开源存储系统 Ceph,异常状态下的性能稳定性同样有接近一倍半关系的领先程度。

image.png

image.png

和另外一个 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 未来规划

未来 Curve 将瞄准高性能、易运维、云原生的目标持续演进:

高性能:为云原生数据库、云中间件提供超高性能、超低时延的存储底座,助力存算分离架构落地。同时也可为文件存储提供热数据的高性能存储层,助力高性价比架构落地。

云原生:支持各类云原生应用的存算分离架构,支持部署到私有云、公有云、混合云环境,为云原生应用提供更灵活便捷的存储系统。

易运维:提供更简单、更易用、易排障的运维工具和诊断平台。

致谢

Curve 项目的发展离不开每一位社区参与者的付出。在此真诚地感谢每一位社区贡献者及用户的信任、支持和帮助,也特别感谢 CNCF 同仁尤其是 Storage TAG 对项目发展的指导和支持。欢迎更多开发者和用户参与 Curve 社区建设,如有任何意见和建议,皆可给项目提交 issue。

相关实践学习
块存储快速入门
块存储是阿里云为云服务器ECS提供的块设备产品。通过体验挂载数据盘、分区格式化数据盘(Linux)、创建云盘快照、重新初始化数据盘、使用快照回滚云盘和卸载数据盘等功能,带您快速入门块存储。
目录
相关文章
|
17天前
|
机器学习/深度学习 存储 运维
分布式机器学习系统:设计原理、优化策略与实践经验
本文详细探讨了分布式机器学习系统的发展现状与挑战,重点分析了数据并行、模型并行等核心训练范式,以及参数服务器、优化器等关键组件的设计与实现。文章还深入讨论了混合精度训练、梯度累积、ZeRO优化器等高级特性,旨在提供一套全面的技术解决方案,以应对超大规模模型训练中的计算、存储及通信挑战。
48 4
|
1月前
|
消息中间件 监控 数据可视化
Apache Airflow 开源最顶级的分布式工作流平台
Apache Airflow 是一个用于创作、调度和监控工作流的平台,通过将工作流定义为代码,实现更好的可维护性和协作性。Airflow 使用有向无环图(DAG)定义任务,支持动态生成、扩展和优雅的管道设计。其丰富的命令行工具和用户界面使得任务管理和监控更加便捷。适用于静态和缓慢变化的工作流,常用于数据处理。
Apache Airflow 开源最顶级的分布式工作流平台
|
1月前
|
存储 运维 负载均衡
构建高可用性GraphRAG系统:分布式部署与容错机制
【10月更文挑战第28天】作为一名数据科学家和系统架构师,我在构建和维护大规模分布式系统方面有着丰富的经验。最近,我负责了一个基于GraphRAG(Graph Retrieval-Augmented Generation)模型的项目,该模型用于构建一个高可用性的问答系统。在这个过程中,我深刻体会到分布式部署和容错机制的重要性。本文将详细介绍如何在生产环境中构建一个高可用性的GraphRAG系统,包括分布式部署方案、负载均衡、故障检测与恢复机制等方面的内容。
105 4
构建高可用性GraphRAG系统:分布式部署与容错机制
|
22天前
|
机器学习/深度学习 人工智能 分布式计算
【AI系统】分布式通信与 NVLink
进入大模型时代后,AI的核心转向大模型发展,训练这类模型需克服大量GPU资源及长时间的需求。面对单个GPU内存限制,跨多个GPU的分布式训练成为必要,这涉及到分布式通信和NVLink技术的应用。分布式通信允许多个节点协作完成任务,而NVLink则是一种高速、低延迟的通信技术,用于连接GPU或GPU与其它设备,以实现高性能计算。随着大模型的参数、数据规模扩大及算力需求增长,分布式并行策略,如数据并行和模型并行,变得至关重要。这些策略通过将模型或数据分割在多个GPU上处理,提高了训练效率。此外,NVLink和NVSwitch技术的持续演进,为GPU间的高效通信提供了更强的支持,推动了大模型训练的快
38 0
|
2月前
|
消息中间件 中间件 数据库
NServiceBus:打造企业级服务总线的利器——深度解析这一面向消息中间件如何革新分布式应用开发与提升系统可靠性
【10月更文挑战第9天】NServiceBus 是一个面向消息的中间件,专为构建分布式应用程序设计,特别适用于企业级服务总线(ESB)。它通过消息队列实现服务间的解耦,提高系统的可扩展性和容错性。在 .NET 生态中,NServiceBus 提供了强大的功能,支持多种传输方式如 RabbitMQ 和 Azure Service Bus。通过异步消息传递模式,各组件可以独立运作,即使某部分出现故障也不会影响整体系统。 示例代码展示了如何使用 NServiceBus 发送和接收消息,简化了系统的设计和维护。
59 3
|
2月前
|
存储 开发框架 .NET
C#语言如何搭建分布式文件存储系统
C#语言如何搭建分布式文件存储系统
84 2
|
2月前
|
消息中间件 存储 监控
消息队列系统中的确认机制在分布式系统中如何实现?
消息队列系统中的确认机制在分布式系统中如何实现?
|
2月前
|
存储 分布式计算 监控
C# 创建一个分布式文件存储系统需要怎么设计??
C# 创建一个分布式文件存储系统需要怎么设计??
41 0
|
2月前
|
NoSQL Java Redis
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
Redis分布式锁在高并发场景下是重要的技术手段,但其实现过程中常遇到五大深坑:**原子性问题**、**连接耗尽问题**、**锁过期问题**、**锁失效问题**以及**锁分段问题**。这些问题不仅影响系统的稳定性和性能,还可能导致数据不一致。尼恩在实际项目中总结了这些坑,并提供了详细的解决方案,包括使用Lua脚本保证原子性、设置合理的锁过期时间和使用看门狗机制、以及通过锁分段提升性能。这些经验和技巧对面试和实际开发都有很大帮助,值得深入学习和实践。
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
|
17天前
|
存储 NoSQL Java
使用lock4j-redis-template-spring-boot-starter实现redis分布式锁
通过使用 `lock4j-redis-template-spring-boot-starter`,我们可以轻松实现 Redis 分布式锁,从而解决分布式系统中多个实例并发访问共享资源的问题。合理配置和使用分布式锁,可以有效提高系统的稳定性和数据的一致性。希望本文对你在实际项目中使用 Redis 分布式锁有所帮助。
47 5
下一篇
DataWorks